對於可能是凌亂的代碼和/或簡單的問題,我表示抱歉。循環代碼以將不同的工作表數據提取到不同的工作表
我已經搜索了這個網站和網頁,並嘗試過各種代碼段,但是我的理解力和耐心對於當前的任務來說太有限了。我很感激你更有見識的體驗。現在的問題..:
我想循環一段代碼,以便它可以實現不同的範圍。我從兩張數據開始,其中第二張數據包含大約66列的精製數據,其中前兩列將用於每張新紙張。代碼首先篩選第三列並複製第一列和第三列,創建一個新工作表並粘貼這些值。然後它返回到Sheet2以刪除過濾器併爲第四列執行相同的操作。
由於每次迭代都有重複,例如, 3,4,5 ...我想創建一個可用於循環代碼的變量,並使其更加整潔,並且可以將循環次數限制爲列數 - 2(前兩列)。因此,不是我編寫這段代碼64次,而是將它改爲另一個100列的工作簿,如果可能的話,我想只改變一些變量和範圍。
Sub CopyPaste()
Dim rg As Range
Set rg = ActiveSheet.Range("$A$1:$BN$5279")
rg.AutoFilter Field:=3, Criteria1:="<>"
Union(Columns(1), Columns(2), Columns(3)).Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sheet2").Select
rg.AutoFilter Field:=3
rg.AutoFilter Field:=4, Criteria1:="<>"
Union(Columns(1), Columns(2), Columns(4)).Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sheet2").Select
rg.AutoFilter Field:=4
rg.AutoFilter Field:=5, Criteria1:="<>"
Union(Columns(1), Columns(2), Columns(5)).Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sheet2").Select
rg.AutoFilter Field:=5
End Sub
謝謝 瑞奇
謝謝克里斯。這工作,除了我需要添加:表(「Sheet2」)。選擇之前rg.Autofilter。 –