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