-1

テーブルを別のブックにコピーしたばかりで、コピーが成功したことを確認するマクロを作成したい場合、それらを比較するには2つの範囲変数が必要になります。比較対象のセルのアドレスを割り当てて、他のブック内の他のセルのアドレスに従うようにするには、2つの開始セルが異なっていても、両方が同じようにオフセットされ、正しく比較できるようにするにはどうすればよいですか?

4

1 に答える 1

1

originalRangeを目的のブックの元のデータ範囲に変更します。貼り付けの直後にこれを実行する場合は、pasteedValueデータにSelectionを使用できます。そうでない場合は、それに応じてこれを変更します。

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 に答える