Vba循环范围的具体范围

我正在devise一个macros,当它运行时,在列C中查找一个值“2”,并将该行从AC单元格复制到sheet2中。 我正在工作的代码不起作用。 请你能帮助我。

Sub LoopRange() Dim rCell As Range Dim rRng As Range Set rRng = Sheet1.Range("C1:C20") For Each rCell In rRng.Cells If rCell.Value = "2" Then Range(Cells(1, 1), Cells(3, 3)).Copy Sheets("Sheet2").Cells(1, 1) End If Next rCell End Sub 

您当前的代码是每次都将完全相同的单元格复制到完全相同的位置。 试试这个:

 Sub test() Dim rCell As Range Dim rRng As Range Dim cnt As Long cnt = 1 Set rRng = Sheet1.Range("C1:C20") For Each rCell In rRng.Cells If rCell.Value = "2" Then Range(Cells(rCell.Row, 1), Cells(rCell.Row, 3)).Copy Sheets("Sheet2").Cells(cnt, 1) cnt = cnt + 1 End If Next rCell End Sub 

表1testing数据:

在这里输入图像说明

表2结果:

在这里输入图像说明