excel Cell 比較
楽々(^-^)コンペア
シート「はじめに」:実行ボタン
シート「コンペア1」
シート「コンペア2」
●使用方法 |
① シート「コンペア1」、及び「コンペア2」に、それぞれ比較するデータを貼り付ける。 |
② 実行ボタンを押す。 |
UserForm2あり。
Sub comp_main()
Dim i As Integer
Dim j As Integer
Dim count As Integer
Dim Sheet1() As String
Dim Sheet2() As String
‘—– データ入力領域取得処理 ————————————–
Dim x1 As Long
Dim y1 As Long
Dim x As Long
Dim y As Long
Sheets(“コンペア1”).Select
On Error Resume Next
y1 = Cells.Find(“*”, Range(“A1”), , , xlByRows, xlPrevious).Row
x1 = Cells.Find(“*”, Range(“A1”), , , xlByColumns, xlPrevious).Column
If Err <> 0 Then
MsgBox “コンペア1シートにデータがありません。”
GoTo 999
End If
On Error GoTo 0
Sheets(“コンペア2”).Select
On Error Resume Next
y = Cells.Find(“*”, Range(“A1”), , , xlByRows, xlPrevious).Row
x = Cells.Find(“*”, Range(“A1”), , , xlByColumns, xlPrevious).Column
If Err <> 0 Then
MsgBox “コンペア2シートにデータがありません。”
GoTo 999
End If
On Error GoTo 0
If x1 > x Then
x = x1
End If
If y1 > y Then
y = y1
End If
‘—– メイン処理 ————————————–
ReDim Sheet1(y, x)
ReDim Sheet2(y, x)
Sheets(“コンペア1”).Select
Application.ScreenUpdating = False
For j = 1 To x
For i = 1 To y
Sheet1(i, j) = Cells(i, j)
Next i
Next j
Sheets(“コンペア2”).Select
For j = 1 To x
For i = 1 To y
Sheet2(i, j) = Cells(i, j)
Next i
Next j
Sheets(“コンペア1”).Select
Cells.Select
Selection.Interior.ColorIndex = xlNone
Sheets(“コンペア2”).Select
Cells.Select
Selection.Interior.ColorIndex = xlNone
count = 0
For j = 1 To x
For i = 1 To y
If Sheet1(i, j) <> Sheet2(i, j) Then
Sheets(“コンペア1”).Select
Cells(i, j).Select
Selection.Interior.ColorIndex = 4
Sheets(“コンペア2”).Select
Cells(i, j).Select
Selection.Interior.ColorIndex = 4
count = count + 1
End If
Next i
Next j
Sheets(“コンペア1”).Select
UserForm2.TextBox1.Value = count
UserForm2.Show
999
End Sub