Excel 2010 VBA帮助复制列范围



我的代码几乎可以根据需要工作。它在" F"列中检查所有表是否有一定的值,然后将其相关行复制到活动表。我可以使代码复制整个行,单数列" A"或顺序范围" A:C"。我似乎无法使其复制特定的列,例如" a" c"&" F"是我需要做的。

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

如从评论到问题的以下内容,正确答案是使用以下行:

ws.Range("A" & i & ", C" & i & ", E" & i).Copy Destination:=ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)

而不是

ws.Cells(i, "A").Columns("A:D").Copy Destination:=ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)

相关内容

最新更新