【Excel VBA】重複データを自動削除する方法|空白が原因で削除できない時の対策

記事
IT・テクノロジー
私が品質確認やデータ整理の現場で実際に日々使っているマクロの中から、
今回は「重複削除のエラー対策」をご紹介します!

実務で頻繁に発生するデータの重複削除ですが、
手作業やExcelの標準機能で行った際に、
「数値は同じなのに重複として認識されず、データが残ってしまった…」
という経験はありませんか??

その原因のほとんどは、ズバリ文字の後ろに紛れ込んだ
「目に見えないスペース(空白)」です。

今回は、私自身も実務で愛用している
「空白を除去してから重複削除するマクロ」コードを
【完全無料】で公開します。

■ 今回紹介するマクロのメリット
・「スペースの有無」による削除漏れを完全に防ぐ
・大量のデータでも、ボタン一つで自動処理ができる
・手作業で削除するよりも圧倒的にミスが減る


■ コピペ用VBAコード

以下のコードを、Excelの標準モジュールに貼り付けてご使用ください。
(※A列のデータをもとに重複を削除する設定になっています)


Sub DeleteDuplicatesWithTrim()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    ' 対象シートを指定(アクティブなシート)
    Set ws = ActiveSheet
    ' 最終行を取得
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    ' 画面更新を停止して処理を高速化
    Application.ScreenUpdating = False
    ' 1. 各セルの前後の余計な空白を削除(Trim処理)
    For i = 2 To lastRow
        ws.Cells(i, "A").Value = Trim(ws.Cells(i, "A").Value)
    Next i
    ' 2. A列を基準に重複データを削除(見出しは1行目を想定)
    ws.Range("A1:A" & lastRow).RemoveDuplicates Columns:=1, Header:=xlYes
    ' 画面更新を再開
    Application.ScreenUpdating = True
    MsgBox "重複データの削除が完了しました!", vbInformation, "完了通知"
End Sub




■ 使い方(3ステップ)
① Excelで「Alt + F11」を押してVBAの画面を開きます。
②「挿入」メニューから「標準モジュール」を追加し、
上記のコードを貼り付けます。
③ 画面を閉じ、マクロを実行(またはボタンに登録)すれば完了です。


■ コードの設定が面倒な方へ

今回ご紹介した無料コードは「A列限定」のシンプルな仕様です。
「自分でコードを設定したり、ボタンを配置したりするのが地味に面倒…」
「他の列の重複データも、ボタン一つでまとめてキレイに削除したい」

という方のために、このマクロを組み込み済みで、
ダウンロード後すぐに使える「完成版Excelファイル」を出品しております!

通常、個別のカスタマイズや、やり取りを行う通常マーケット版は
【3,000円】、実務でよく使う人気ツール3種をまとめた
"最強パック"は【5,000円】で提供しています。

ですが、「特に個別のカスタマイズは不要だから、今すぐ完成品が欲しい!」「時間を一秒も無駄にしたくない」という方のために、
購入した瞬間にその場で即時ダウンロードできる
【コンテンツマーケット版】をご用意しました。

こちらの3点まとめパックであれば、通常5,000円のところ、
やり取りの手間がない分【1,000円OFFの4,000円】で今すぐ手に入ります。

一度手に入れてしまえば、これから先の面倒な手作業や残業が
一瞬で自動処理できるようになります。
一刻も早く日々の手作業から解放されたい方は、
最もお得な下記URLよりお買い求めください!

🛒 【24時間自動納品・最安値】実務効率化マクロ・3点セットのまとめパックはこちら👇(購入後、すぐにダウンロード可能です)
特別価格:4,000円

🛒 【単品・通常版】重複削除マクロのみ(やり取りあり)はこちら👇

通常価格:3,000円
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら