按键excel vba查找行

时间:2014-09-25 17:13:02

标签: excel vba excel-vba

我正在尝试在vba中创建一个宏来更新第一张纸上的信息。各个记录通过键绑在一起。因此,一个键对应于表1中的记录,也对应于表2中的记录。我通过定义填充数据的行来启动宏(在此阶段它只有一列)。然后它进入for循环并获取整行,并比较两行并更新它们,如果它们不相同的话。我不确定如何编写if语句的行来比较具有相同键的两行(因为它们不是按顺序排列)。任何帮助将不胜感激。我已经发布了我到目前为止编写的代码。

Sub crossUpdate()
Dim rng1 As Range, rng2 As Range, N As Long
Dim rng1Row As Range
Dim rng2Row As Range
Dim i As Integer, j As Integer
Dim Cell As Variant


N = Cells(Rows.Count, "A").End(xlUp).row
Set rng1 = Sheet1.Cells.Range("A2:A" & N)
Set rng2 = Sheet2.Cells.Range("A2:A" & N)


For i = 2 To rng1.Rows.Count
    Set rng1Row = rng1.Cells(i, 1).EntireRow
    Set rng2Row = rng2.Cells(i, 1).EntireRow
    Key = Sheet1.Range("A" & i)
        For j = 1 To rng1.Columns.Count
            If rng1Row.Cells(i, j).Value <> rng2Row.Cells(i, j).Value Then

             Else

            End If
        Next j
Next i

End Sub

1 个答案:

答案 0 :(得分:0)

我回答了类似的问题here。问题是如何比较行。

我的回答是尝试通过存储行的哈希值来快速进行这些比较。对于您的问题,您可以尝试将两个行都转换为字符串,然后只是将它们进行比较。如果它们不相等,只需将其中一行复制到另一行即可。