エクセルVBAマクロを自動作成する無料アプリです。
例として「データから重複を削除しマスター用リストをつくる」VBAマクロを作成します。
事例 データから重複を削除しマスター用リストをつくる
「品名リスト」ができました。
できました😄
アプリの設定
アプリへのリンク ⇒重複データを削除(Dictionary)
表示されるVBAコード
アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。
VBAコードを見る
Sub デモ() '重複データを削除(Dictionary)
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 右下セル As String
Sheets("Sheet1").Select
'表の最終行を決定
Dim 最終行 As Long
最終行 = Cells(Rows.Count, Range("A1").Column).End(xlUp).Row
セル範囲 = "a1" & ":" & Cells(最終行, Range("a1").Column).Address(False, False)
' Dictionaryオブジェクトを作成
Dim 辞書 As Object, 削除行 As Range, 行 As Range, キー As Variant
Set 辞書 = CreateObject("Scripting.Dictionary")
For Each 行 In Range(セル範囲).Rows
キー = 行.Cells(1, 1)
If Not 辞書.Exists(キー) Then
辞書.Add キー, 行.Cells(1, 1).Resize(, Range("a1").Column - Range("a1").Column + 1).Value
End If
Next 行
'辞書のitemを、各セルに転記する
Dim 行2 As Long, 列2 As Long, データ As Variant
Worksheets("Sheet1").Select
Range("e2").CurrentRegion.Clear
行2 = Range("e2").Row
列2 = Range("e2").Column
For Each データ In 辞書.items
Cells(行2, 列2).Resize(, Range("a1").Column - Range("a1").Column + 1).Value = データ
行2 = 行2 + 1
Next
Range("e2").CurrentRegion.HorizontalAlignment = xlGeneral
Application.DisplayAlerts = True ' 警告表示を再開
Application.ScreenUpdating = True ' 画面描画を再開
End Sub
ChatGPTで修正
あなたが自動化したい内容と事例が少し異なる場合は、無料で使えるマイクロソフトの「BingAIチャット」でコードを修正します。とても簡単です!