🍇

行削除のマクロ(ExcelVBA)

2024/10/03に公開

はじめに

Excelの行を削除するマクロ実装出来たら、削除するレコードを手作業ですることなく、作業ミスも防げるため、実装しました。

元データ

元データは下記の画像のデータです。

実装したソースコード

実装したソースコードは以下の通りです。

Sub test1()
    'ワークシートオブジェクトの変数定義
    Dim ws1 As Worksheet
    Set ws1 = ThisWorkbook.Worksheets("テスト")
    '開始行、終了行の定義
    Dim start_row, end_row As Long
    start_row = 4
    end_row = ws1.Cells(Rows.Count, 4).End(xlUp).Row
    'カウンタ変数
    Dim i As Long
    i = start_row
    '削除メッセージ
    Dim delete_flag As String
    'ループ抜け変数
    Dim loop_flag As Integer
    loop_flag = 0
    
    While loop_flag = 0
        delete_flag = ws1.Cells(i, 5)
        '「×」なら削除、データがない場合はループ抜けフラフを1、それ以外なら行カウントを1足す
        If delete_flag = "×" Then
            ws1.Rows(i).Delete
        ElseIf delete_flag = "" Then
            loop_flag = 1
        Else
            i = i + 1
        End If
        
        
        
    Wend
    MsgBox "終わりだよ"

実行した結果

実行した結果は下記の画像です。

最後に

参考にしていただけると幸いです。

Discussion