【发布时间】:2017-08-14 04:55:34
【问题描述】:
我正在编写一个 VBA 代码来识别两个不同 Excel 工作表中的数据变化。该代码匹配第一列中的数据(A2 然后 A3 然后 A4....),并检查另一张表中的数据行。但是,当代码在无法找到第一个工作表中但不在第二个工作表中的数据时被中断。 find 函数不返回任何内容。
我需要您的帮助,因为我无法让 On Error Goto Line1 语句正常工作。
最好, 尼桑特
相同的 VBA 代码:
Sub Compare()
Var = 2
Sheets("Sheet1").Select
Do Until Range("A" & Var).Value = ""
Sheets("Sheet1").Select
var1 = Range("A" & Var).Value
Sheets("Sheet2").Select
Range("A1").Select
On Error GoTo Line1
var2 = Range("A:A").Find(What:=var1).Row
For i = 1 To 6
If Worksheets("Sheet1").Cells(Var, i).Value <> _
Worksheets("Sheet2").Cells(var2, i) Then
Worksheets("Sheet2").Cells(var2, i).Interior.ColorIndex = 3
End If
Next
Line1:
Var = Var + 1
Loop
End Sub
【问题讨论】:
-
FWIW - 您在
If语句中缺少一个续行字符,但在您将代码输入问题时可能刚刚丢失。 -
您好,谢谢 YowE3K,是的,您是正确的,行继续丢失,但代码保持不变。问候