ExcelVBA 2つのブックの値が等しいことを確かめる

LONERさん
LONERさん

Excel で、2つのシートの値が等しいことを確かめたいときってありませんか?
使用するときは、比較する2つのブックを開いた状態でプログラムを実行してください。(F5を押す。)


Sub CompareValues()
Const LeftEdge As Integer = 1
Const RightEdge As Integer = 2
Const TopEdge As Integer = 10
Const BottomEdge As Integer = 200

Dim i, j As integer

For i = TopEdge To BottomEdge
For j = LeftEdge To RightEdge
If Workbooks("XXXXXXX.xls").Worksheets(1).Cells(i, j).Value <> Workbooks("YYYYYYY.xls").Worksheets(1).Value Then
MsgBox "Error! " & CStr(i) & "/" & CStr(j) & ": 2 values are different!"
Exit Sub
End If
Next
Next

MsgBox "OK"
End Sub



プログラムを変更したときに、出力されるExcelがプログラム変更前と同じかどうかを確かめるときに私が使ったものです。
Dim Sheet1, Sheet2 As Worksheets
Set Sheet1 = Workbook("XXXXX.csv").Worksheets(1)
Set Sheet2 = Workbook("YYYYY.csv").Worksheets(1)

とすると、その後も Sheet1.Cells(i, j).Activate とか書けるから楽になるね。
> ExcelVBA を勉強する <
LONERさんのブログ一覧