🍇
行削除のマクロ(ExcelVBA)
はじめに
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