假设我刚刚将一个表复制到另一个工作簿,并想编写一个宏来验证复制是否成功,我必须有两个范围变量来比较它们。如何分配要比较的单元格的地址以跟随另一个工作簿中另一个单元格的地址,以便它们都以相同的方式偏移,即使两个起始单元格不同,仍然可以正确比较?
问问题
1003 次
1 回答
1
将 originalRange 更改为所需工作簿中的原始数据范围。如果在粘贴后立即运行,则可以将 Selection 用于 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
于 2012-12-17T21:41:38.350 回答