复制 IF 后的单元格范围并粘贴到列“J”.....不是整行。 VBA
Posted
技术标签:
【中文标题】复制 IF 后的单元格范围并粘贴到列“J”.....不是整行。 VBA【英文标题】:Copy range of cells after IF and paste to column "J".....Not entire row. VBA 【发布时间】:2015-06-14 16:02:53 【问题描述】:我在 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 到 H”列的简单方法,而不是只选择“A”列。
非常感谢您抽出宝贵时间。
【问题讨论】:
首先过滤Dog
,然后复制到列A。然后过滤Cat
,然后复制到J,依此类推。 THIS 将帮助您入门。
【参考方案1】:
您可以将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
方法之前都有一个句号。
【讨论】:
以上是关于复制 IF 后的单元格范围并粘贴到列“J”.....不是整行。 VBA的主要内容,如果未能解决你的问题,请参考以下文章