🎃

Excel VBA 条件に合うデータ列を削除する

2024/10/15に公開

はじめに

条件に合致する列データを削除するマクロを作ってみました。

データ

データは下記になります。

実装したマクロ

実装したマクロは下記になります。

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