MENU

2枚の表を比較し、値が相違するセルを黄色にする

エクセルVBAマクロを、簡単に作成してみませんか?

例として、アプリで「2枚の表を比較し、相違するセルを黄色にする」VBAマクロを作成します。慣れると1分でマクロが完成します。

処理のイメージ

事例

2つの表があり、値が相違するセルに、色を付けます。

できました(^^)/

 

アプリの設定

アプリの設定です。

トップページ ⇒▼検索・置換・2表比較

 ⇒2枚の表を比較し、値が相違するセルを黄色にする



表示されるVBAコード 

アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。 

Sub デモ_20() '2枚の表を比較し、相違するセルを黄色にする
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
On Error Resume Next
Dim 表1 As Range, 表2 As Range, 表1_処理列 As Range, 表2_処理列 As Range, 回数 As Long
Dim 表1_最初行 As Long, 表1_最終行 As Long, 表1_列 As Long, 表2_最初行 As Long, 表2_最終行 As Long, 表2_列 As Long
Set 表1 = Range("a1:h10")  '表1
Set 表2 = Range("j1:q10")  '表2
'行数と列数の一致を確認
If (表1.Rows.Count <> 表2.Rows.Count) Then
    MsgBox "行の数が違います"
    Exit Sub
ElseIf (表1.Columns.Count <> 表2.Columns.Count) Then
    MsgBox "列の数が違います"
    Exit Sub
End If
'セルの塗りつぶしをなしにする
Union(表1, 表2).Interior.ColorIndex = 0
表1_列 = 表1.Cells(1, 1).Column
表1_最初行 = 表1.Cells(1, 1).Row
表1_最終行 = 表1.SpecialCells(xlLastCell).Row
表2_列 = 表2.Cells(1, 1).Column
表2_最初行 = 表2.Cells(1, 1).Row
表2_最終行 = 表2.SpecialCells(xlLastCell).Row
For 回数 = 1 To 表1.Columns.Count
    Set 表1_処理列 = Range(Cells(表1_最初行, 表1_列), Cells(表1_最終行, 表1_列))
    Set 表2_処理列 = Range(Cells(表2_最初行, 表2_列), Cells(表2_最終行, 表2_列))
    Union(表1_処理列, 表2_処理列).Select
    Selection.RowDifferences(ActiveCell).Interior.Color = RGB(255, 255, 0)
    表1_列 = 表1_列 + 1
    表2_列 = 表2_列 + 1
Next 回数
Range("A1").Select
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub

マクロを使うメリット

手作業で数分かかる作業が、1秒で終わります。

ぜひ、アプリをご利用ください。

 

アプリはこちらから↓↓↓↓