【VBA×ChatGPT】1分でマクロを作り、1秒で処理完了

「VBAマクロを作成」するChatGPTプロンプトや、VBAコードを表示する無料アプリです。

MENU

重複の無いデータをつくる

無料アプリで、すぐにエクセルVBAマクロを作成できます。

例として、「重複の無いデータをつくる」VBAマクロを作成します。

(ページの末尾に、VBAコード掲載)

事例

「出荷明細」から、重複の無い「出荷先リスト」を作成します。

「出荷先リスト」ができました。

 

できました(^^)/

アプリの設定

アプリのトップページ

 ⇒▼並べ替え・フィルター

 ⇒◇重複データを削除(Dictionary)

【ポイント】

 この事例では、1列だけ表示していますが、「表示する列数」を増やせます。

 

表示されるVBAコード 

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

Sub デモ_16() '重複するデータを削除する
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 右下セル As String
Sheets("出荷明細").Select
'◆最終行を取得し、セル範囲を決める
Range("a2:a2").CurrentRegion.Select
右下セル = Cells(Selection.Row + Selection.Rows.Count - 1, Range("a2").Column).Address(False, False)
セル範囲 = "a2" & ":" & 右下セル 
Call デモ_16_メイン処理(右下セル)
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub
                           
Sub デモ_16_メイン処理(右下セル As String)
Application.Calculation = xlCalculationManual '自動計算を停止

’辞書を作成する
Dim 辞書 As Object, 行 As Long, 列 As Long
Set 辞書 = CreateObject("Scripting.Dictionary")
Worksheets("出荷明細").Select
For 行 = Range("a2").Row To Range(右下セル).Row
    If Not 辞書.Exists(Cells(行, 1).Value) Then
        辞書.Add Cells(行, 1).Value, Cells(行, 1).Resize(1, 1).Value
    End If
Next 行
Dim データ As Variant
Worksheets("出荷明細").Select
Range("h1").CurrentRegion.Clear
行 = Range("h1").Row
列 = Range("h1").Column

’辞書の内容を、各セルに転記する
For Each データ In 辞書.items
    Cells(行, 列).Resize(1, 1).Value = データ
    行 = 行 + 1
Next
Set 辞書 = Nothing
Application.Calculation = xlCalculationAutomatic ' 自動計算を再開
End Sub

マクロを使うメリット

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

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

 

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

nocodevba.herokuapp.com