VBA:比较两列中的每一行,然后剪切匹配的行并将其粘贴到其他位置

时间:2015-02-09 13:05:44

标签: excel excel-vba vba

我有这张桌子:

A B C

4 4 X

4 1

4 0 X

4 8

4 4

4 9 X

我需要在A和B列的行中找到匹配的单元格,然后剪切匹配的行并将其粘贴到表格下方。数据范围是A2:C8。

在我的表中有2个匹配,因此结果应如下所示:

4 4 X
4 4

这是我的代码:

Sub cutter()

Dim cell1 As Integer, cell2 As Integer

cell1 = Range("A2").Value
cell2 = Range("B2").Value

If cell1 = cell2 Then
Sheet1.Range("A2:C2").Cut Sheet1.Range("A27:C27")
End If

End Sub

它工作正常,但我需要比较每一行。 我知道我应该像这里一样实现循环:

Dim rng As Range
Dim row As Range
Dim cell As Range
Set rng = Range("A2:C8")
For Each row In rng.Rows
  For Each cell In row.Cells
' condition
    Next cell
Next row

但我不知道如何:(

帮助任何人?

提前致谢!

1 个答案:

答案 0 :(得分:0)

此代码循环直到A:

中的第一个空行
Sub testcompare()
i = 1 'start in cell 1
j = 27 'cut start in cell 27

While Not IsEmpty(Cells(i, 1))
If Cells(i, 1).Value = Cells(i, 2).Value Then
Range(Cells(i, 1), Cells(i, 3)).Cut Range(Cells(j, 1), Cells(j, 3))
i = i + 1
j = j + 1
Else
i = i + 1
End If
Wend
End Sub