エクセルVBAマクロを自動作成する無料アプリです。
例として「2つの同一の表を比較し、値が違うセルに色を付ける」VBAマクロを作成します。
(ページの末尾に、VBAコード掲載)
事例 2つの表の値が相違するセルに色を付ける
できました😆
なお2つの表の比較は、4つパターンがあります😊
パターンを見る
2つの表を比較し、値が違う(同じ)セルに色を付ける|Dictionary
2つの表を比較し、無い行・違う行に色を付ける|Dictionary
通し番号がある2つの表を比較し、値が違うセルに色を付ける|Dictionary
アプリの設定
アプリのトップページ
⇒▼2表(転記・上書き・新規追加・比較)
⇒2つの行列数が同一の表を比較し、値が違うセルに、色を付ける
表示されるVBAコード
アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。
VBAコードを見る
Sub デモ_90() '2枚の表を比較し、相違するセルを黄色にする
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False ' 警告表示を停止
Dim 表1 As Variant, 表2 As Variant, 行 As Long, 列 As Long
'配列にセル範囲の値を入れる
表1 = Worksheets("sheet1").Range("a1:b10") '表1
表2 = Worksheets("sheet1").Range("d1:e10") '表2
'行数と列数の一致を確認
If UBound(表1, 1) <> UBound(表2, 1) Then
MsgBox "2つの表の行数が違います"
Exit Sub
ElseIf UBound(表1, 2) <> UBound(表2, 2) Then
MsgBox "2つの表の列数が違います"
Exit Sub
End If
'処理前に、セルを色無しにする
Worksheets("sheet1").Range("a1:b10").Interior.ColorIndex = 0
Worksheets("sheet1").Range("d1:e10").Interior.ColorIndex = 0
'値が異なるセルに色を付ける
For 行 = 1 To UBound(表1, 1)
For 列 = 1 To UBound(表1, 2)
If 表1(行, 列) <> 表2(行, 列) Then
Worksheets("sheet1").Range("a1:b10").item(1).Offset(行 - 1, 列 - 1).Interior.Color = RGB(255, 255, 0)
Worksheets("sheet1").Range("d1:e10").item(1).Offset(行 - 1, 列 - 1).Interior.Color = RGB(255, 255, 0)
End If
Next 列
Next 行
Application.DisplayAlerts = True ' 警告表示を再開
Application.ScreenUpdating = True ' 画面描画を再開
End Sub
ChatGPTで修正
あなたが自動化したい内容と事例が少し異なる場合は、無料で使えるマイクロソフトの「BingAIチャット」でコードを修正します。とても簡単です!