复制 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的主要内容,如果未能解决你的问题,请参考以下文章

将 Google Ads 数据导出到特定单元格范围

VBA - 复制单元格并粘贴列中的空行

显示单元格范围的 IF 公式

将单元格范围复制到新位置

将图表从单元格范围更改为命名范围

Vba 代码在单元格范围内复制特定值