🎃
Excel VBA 条件に合うデータ列を削除する
はじめに
条件に合致する列データを削除するマクロを作ってみました。
データ
データは下記になります。
実装したマクロ
実装したマクロは下記になります。
Sub test1()
'開始列番号
Dim start_column_num As Long
'最終列番号
Dim end_column_num As Long
'開始行番号を代入
start_column_num = 2
'終了行番号を代入
end_column_num = ThisWorkbook.Worksheets("削除").Cells(6, Columns.Count).End(xlToLeft).Column
'カウント変数
Dim j As Long
j = start_column_num
'ループ終了フラグ変数
Dim end_flag As Integer
'フラグをセット
end_flag = 0
'フラグが0の間は、ループ処理を続ける
While end_flag = 0
Dim data1 As String
data1 = ThisWorkbook.Worksheets("削除").Cells(6, j)
'参拝者数が0の場合、列削除、データが空文字の場合は、ループ終了フラグを「1」にセット、どちらでもない場合は列を1列進める。
If data1 = "0" Then
'列削除
ThisWorkbook.Worksheets("削除").Columns(j).Delete
ElseIf data1 = "" Then
end_flag = 1
Else
j = j + 1
End If
Wend
End Sub
実行した結果
実行した結果です。
最後に
列削除処理が参考にしていただけると幸いです。
Discussion