無料アプリで、すぐに、エクセルVBAマクロを作成できます。
例として、「マスターと一致したら、マスターの複数列を転記する」VBAマクロを作成します。
(ページの末尾に、VBAコード掲載)
事例
会員番号が一致する、マスターの氏名と、都道府県の2列を転記します。
Vlookup関数で、複数列を表示するイメージです。
マクロを実行すると、2列のデータが転記されました。
できました(^^)/
アプリの設定
アプリの設定です。
アプリのトップページ
⇒▼検索・置換・2表比較
⇒【ツール】xlookUp関数のように、検索して複数列のデータを転記する
表示されるVBAコード
アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。
Sub デモ_26() '検索して複数列のデータを転記する
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False ' 警告表示を停止
Application.Calculation = xlCalculationManual '自動計算を停止
Dim マスタ辞書 As Object, マスタkey As Variant, マスタitem As Variant
Dim マスタシート As Worksheet, データシート As Worksheet
Dim マスタ行 As Long, データ行 As Long
Set マスタ辞書 = CreateObject("Scripting.Dictionary")
Set マスタシート = Sheets("sheet1") 'マスタのシート
Set データシート = Sheets("Sheet1") 'データのシート
'初期化
マスタ辞書.RemoveAll
'マスタ辞書作成
With マスタシート
For マスタ行 = .Range("e3").Row To Cells(Rows.Count, .Range("e3").Column).End(xlUp).Row
マスタkey = .Cells(マスタ行, .Range("e3").Column).Value
マスタitem = Array(マスタ行, Range(.Cells(マスタ行, Range("e3").Column + 1), .Cells(マスタ行, Range("e3").Column + 1 + 2 - 1)).Value)
マスタ辞書.Add マスタkey, マスタitem
Next マスタ行
End With
'マスタ辞書を転記
With データシート
For データ行 = .Range("a3").Row To Cells(Rows.Count, .Range("a3").Column).End(xlUp).Row
マスタkey = .Cells(データ行, .Range("a3").Column).Value
If マスタ辞書.Exists(マスタkey) Then
.Cells(データ行, .Range("a3").Column).Offset(0, 1).Resize(1, 2) = マスタ辞書.Item(マスタkey)(1)
End If
Next データ行
End With
マスタ辞書.RemoveAll
Application.Calculation = xlCalculationAutomatic ' 自動計算を再開
Application.DisplayAlerts = True ' 警告表示を再開
Application.ScreenUpdating = True ' 画面描画を再開
End Sub
マクロを使うメリット
手作業で数分かかる作業が、1秒で終わります。
ぜひ、アプリをご利用ください。