VBA100本ノック10本目:行の削除
出題内容
画像のように「受注」シートに今月の受注データがあります。
受注数が空欄かつ備考欄に「削除」または「不要」の文字が含まれている行を削除してください。
行の削除は行全体を削除してください。
サンプルでは5行目と10行目を削除
自分の解答
Sub vba10()
Sheets("受注").AutoFilterMode = False '①
With Sheets("受注").Range("A1")
.AutoFilter field:=3, Criteria1:=""
.AutoFilter field:=4, Criteria1:="*削除*", _
Operator:=xlOr, Criteria2:="*不要*"
.CurrentRegion.Offset(1, 0).EntireRow.Delete
.AutoFilter
End WithEnd Sub
修正箇所
①処理開始前にフィルターを解除しておくコードを追加。
Offset後に削除している為、一行下の空行も削除している。
問題がある場合はResizeを使うかIntersectで対応する。