嗨我有一個Excel表格,每月有5個類似的列(1月,1月等)。保留幾欄,並根據輸入的數據保持休息
我有VBA代碼,將自動使列下一個下一個月(在這種情況下,這將是3月)。輸入行軍數據後,我想將我的文件保存爲March.xls,刪除本月餘下時間的數據(同時保留原始文件中的所有月份數據)。有沒有辦法做到這一點與VBA?我希望你的回覆能夠重複。我想我的每個月的文件得到「保存爲」如下:
我發現下面的代碼在線,它正在做的工作。唯一的問題是我必須在代碼中輸入要刪除的列的名稱,例如:代碼中的「April」。是否有可能使這些代碼以自動保留最後四列和第一列(ID列)的方式工作,並刪除其餘列。由於
Sub DeleteData()
Dim ws As Worksheet
Dim ColList As String, ColArray() As String
Dim LastCol As Long, i As Long, k As Long, l As Long, m As Long, j As Long
Dim boolFound As Boolean
Dim delCols As Range, delCols1 As Range, delCols2 As Range, delCols3 As Range
Application.ScreenUpdating = False
Set ws = Sheets("Sheet1")
ColList = "April"
ColArray = Split(ColList, ",")
LastCol = ws.Cells.Find(What:="*", After:=ws.Range("A1"), Lookat:=xlPart, _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, _
MatchCase:=False).Column
For i = 8 To LastCol
boolFound = False
For j = LBound(ColArray) To UBound(ColArray)
If UCase(Trim(ws.Cells(1, i).Value)) = UCase(Trim(ColArray(j))) Then
boolFound = True
Exit For
End If
Next
If boolFound = False Then
If delCols Is Nothing Then
Set delCols = ws.Columns(i)
Else
Set delCols = Union(delCols, ws.Columns(i))
End If
End If
Next i
If Not delCols Is Nothing Then delCols.Delete
這是從這個問題您最近要求有什麼不同? http://stackoverflow.com/questions/10079915/make-separate-file-based-on-each-months-data – Marc
不是真的,但我想我刪除了我以前的問題。它沒有像我在這個問題中的代碼。 – Nupur
@ Marc:另外,前一個沒有任何迴應。所以,我剛剛研究了更多關於代碼的內容。 – Nupur