エクセル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秒で終わります。
ぜひ、アプリをご利用ください。