【エクセルマクロ】特定の列以外を一括削除:自動化をマスターする

vba-特定の列以外削除-アイキャッチ ExcelVBA

エクセルマクロで、指定の列以外を削除するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。

特定の列以外を一括削除

以下のマクロを実行すると、変数を使用して特定の列以外をまとめて削除します。


Sub 特定列以外を一括削除()

Dim i As Long
Dim s As Long
Dim LastClm As Long

    '最終列を取得
    LastClm = Range("A1").End(xlToRight).Column
    
    '削除したくない列の列番号(3=C列)
    s = 3

    Application.ScreenUpdating = False

    '全列をループ
    For i = LastClm To 1 Step -1
    
        '指定列だったら列削除
        If i <> s Then
            Columns(i).Delete
        End If
    Next i

    Application.ScreenUpdating = True

End Sub

 

C列以外を、一括削除します。


 
 

特定の列以外を一括削除(複数列)

以下のマクロを実行すると、配列を使用して特定の列以外を削除します。


Sub 特定列以外を自動削除()

Dim i As Long
Dim j As Long
Dim s As Variant
Dim f As Boolean
Dim LastClm As Long

    '最終列を取得
    LastClm = Range("A1").End(xlToRight).Column
    
    '削除したくない列の列番号
     s = Array(3, 6, 11)

    Application.ScreenUpdating = False

    '全列をループ
    For i = LastClm To 1 Step -1
    
        '配列ループ
        For j = 0 To UBound(s)
    
            '削除したくない列かどうかチェック
            If i = s(j) Then
                f = True
            End If
        
        Next j
        
        '削除したい列だったら削除
        If f = False Then
            Columns(i).Delete
        Else
            'フラグをFalseに戻す
            f = False
        End If
        
    Next i

    Application.ScreenUpdating = True

End Sub

 

[s = Array(3, 6, 11)] にて指定した3列以外を、一括削除します。


 
 
この記事がお役に立ちますと幸いです。
 

ExcelVBA 変数を使用して行削除・列削除:使用例11選
...

 

「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!