0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【VBA】空欄セルを残して重複削除

Last updated at Posted at 2022-10-15

はじめに

Excelで大量に重複削除をしたいというのがありました。
しかし、標準機能では空欄セルを残したまま重複が削除できません。

そのため、VBAを作成する必要がありました。
簡易的ではありますが、せっかくなのでこちらに残しておきます。

VBAコード

現在開いているエクセルシートのA1の行から空欄を残して重複を削除するVBA
値を変更すれば任意の列の重複を削除できる

Option Explicit

Sub duplication_delete()

Dim wb As Workbook  'Workbook
Dim ws As Worksheet 'Worksheet
Dim LastRow         '最終行
Dim i               'ループ用
Dim ConfValue       '値(確認元)

'現在開いているWorkbookとWorksheetを変数に設定する
Set wb = ActiveWorkbook
Set ws = wb.ActiveSheet

'現在開いてるエクセルの現在のシートのA列の最終行を取得
LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row

'確認元の値(A2)
ConfValue = ws.Cells(2, 1).Value

'1~最終行まで繰り返す
For i = 1 To LastRow

    '確認元の値と現在の行の値が同じ場合
    If ConfValue = ws.Cells(i, 1).Value Then
    
        '現在の行の値、書式を削除
        ws.Cells(i, 1).Clear
    
    '確認元の値が空欄(値無し)の場合
    ElseIf ConfValue = "" Then
    
    'それ以外の場合
    Else
    
        '確認元の値を現在の行の値に置き換える
        ConfValue = ws.Cells(i, 1).Value
        
    End If
    
Next

End Sub

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?