【VBA】重複データをエラー処理付きで転記する方法
毎日の業務で重複データを手動で管理するのは大変ですよね?この記事では、Excel VBAを使って重複データを自動的に別のシートに転記し、エラー処理も含めて効率化します。初心者でもすぐに実行できるように詳しく解説しています。
サンプルコード
VBA
Option Explicit
Sub DuplicateDataTransfer()
Dim wsSource As Worksheet, wsTarget As Worksheet
Dim lastRowSrc As Long, i As Long, j As Long
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False '画面更新を停止
Set wsSource = ThisWorkbook.Sheets("SourceSheet") 'ソースシート名を指定
Set wsTarget = ThisWorkbook.Sheets("TargetSheet") 'ターゲットシート名を指定
lastRowSrc = wsSource.Cells(wsSource.Rows.Count, 1).End(xlUp).Row 'ソースシートの最終行取得
For i = 2 To lastRowSrc 'データ開始行は2行目と仮定
If Not dict.exists(wsSource.Cells(i, 1).Value) Then '重複チェック
wsTarget.Cells(j + 1, 1).Value = wsSource.Cells(i, 1).Value '重複しないデータを転記
j = j + 1 'ターゲットシートの行インデックス更新
End If
Next i
Application.ScreenUpdating = True '画面更新再開
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。