设置一个单元格的地址等于另一个......在另一个工作簿中

时间:2012-12-17 20:18:29

标签: excel vba excel-vba cell spreadsheet

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

1 个答案:

答案 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