在IF之后复制单元格范围并粘贴到列#34; J" .....不是整行。 VBA

时间:2015-06-14 16:02:54

标签: vba excel-vba excel

我在VBA中有以下代码:

    If Sheets("Sheet1").Cells(i, "C").Value = "DOG" And Sheets("Sheet1").Cells(i, "D").Value = "TOY" Then
Sheets("Sheet1").Cells(i, "A").Copy Destination:=Sheets("TOYS").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
    If Sheets("Sheet1").Cells(i, "C").Value = "CAT" And Sheets("Sheet1").Cells(i, "D").Value = "TOY" Then
Sheets("Sheet1").Cells(i, "A").Copy Destination:=Sheets("TOYS").Range("J" & Rows.Count).End(xlUp).Offset(1)
End If

而不是只选择列" A"我想知道是否有一种选择列的简单方法" A到H"。

非常感谢你的时间。

1 个答案:

答案 0 :(得分:0)

您可以将Sheets("Sheet1").Cells(i, "A").Copy更改为:

Sheets("Sheet1").Range(Sheets("Sheet1").Cells(i, "A"),Sheets("Sheet1").Cells(i, "H")).Copy

要减少需要包含工作表参考的次数,可以使用With ... End With

With Sheets("Sheet1")
    .Range(.Cells(i, "A"),.Cells(i, "H")).Copy
End With

请注意,在每个Cells方法之前都有一个句号。