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

 

Add a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注