假设我刚刚将一个表复制到另一个工作簿,并且想编写一个宏来验证复制是否成功,我必须有两个范围变量来比较它们。如何指定要比较的单元格的地址,以跟随另一个工作簿中的另一个单元格的地址,以便它们以相同的方式偏移,即使两个起始单元格不同,因此仍然可以正确比较?< / p>
答案 0 :(得分:1)
将originalRange更改为所需工作簿中的原始数据范围。如果在粘贴后立即运行此选项,则可以使用“选择”作为pastedValue数据。如果没有,那么相应地改变它:
Dim i As Double, j As Double
Dim originalRange() As Variant, pastedValue() As Variant
Dim copyPassed As Boolean
originalRange = Workbooks("Book1").Sheets("Sheet1").Range("A1").CurrentRegion.Value
pastedValue = Selection
copyPassed = True
For i = 1 To UBound(pastedValue, 1)
For j = 1 To UBound(pastedValue, 2)
If (originalRange(i, j) <> pastedValue(i, j)) Then
copyPassed = False
GoTo test_exit:
End If
Next j
Next i
test_exit:
MsgBox "Copy Passed: " & copyPassed