-1

假设我刚刚将一个表复制到另一个工作簿,并想编写一个宏来验证复制是否成功,我必须有两个范围变量来比较它们。如何分配要比较的单元格的地址以跟随另一个工作簿中另一个单元格的地址,以便它们都以相同的方式偏移,即使两个起始单元格不同,仍然可以正确比较?

4

1 回答 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 回答