エクセルマクロで、指定の列以外を削除する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自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!
リンク