1
我的代碼幾乎按照需要工作。它檢查所有表單中的「F」列中的某個值,然後將其關聯的行復制到活動工作表。我可以讓代碼複製整行,單數列「A」或順序範圍「A:C」。我似乎無法複製像「A」「C」&「F」這樣的特定列,這正是我所需要的。Excel 2010 VBA幫助複製列的範圍
Public Sub List()
Dim ws As Worksheet
Dim i As Integer
ActiveSheet.Rows("3:" & ActiveSheet.Rows.Count).Clear
Selection.Clear
For Each ws In Worksheets
If ws.Name <> ActiveSheet.Name Then
For i = 1 To ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
If ws.Cells(i, "F").Value = "Pending" Then
ws.Cells(i, "A").Columns("A:D").Copy Destination:=ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
End If
Next
End If
Next
你可以使用某事像這樣:'範圍(「A: C:C,F:F「)複製目標:=範圍(」 H1" )' –
我這個以前並根據我做的這些變化,我得到不同的錯誤「ws.Cells(我試過了,‘A’) .Range(「A:A,C:C,E:E」)。Copy Destination:= ActiveSheet.Range(「A」)。End(xlUp).Offset(1,0)'g ives me運行時錯誤1004應用程序或對象定義錯誤&'ws.Cells(i,「A」)。Columns(「A:A,C:C,E:E」)。Copy Destination:= ActiveSheet.Range 「A」 和Rows.Count).END(xlUp).Offset(1,0)」當你使用'範圍(給我一個運行時錯誤13類型不匹配 – Miguel
「:A,C:C,E:A E」 )'你試圖在列'A'的lastrow中粘貼值(比如'A10')。但是它並沒有完成,因爲excel試圖粘貼_entire_列,並且沒有粘貼它的地方(缺少9行)。如果您將'Destination'更改爲'Destination:= Range(「A1」)',它將起作用。所以,最好的想法是重構你的代碼。 –