【ノーコード】1分でExcelを自動化する無料ツール

コードの知識不要😊ChatGPTしようぜ⚾17

MENU

【ノーコードVBA】データから重複を削除しマスター用リストをつくる

エクセルVBAマクロを自動作成する無料アプリです。

例として「データから重複を削除しマスター用リストをつくる」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チャット」でコードを修正します。とても簡単です!

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