PCメモ

Excelを中心とした業務改善の記録

VBA100本ノック10本目:行の削除

excel-ubara.com

 

出題内容

画像のように「受注」シートに今月の受注データがあります。
受注数が空欄かつ備考欄に「削除」または「不要」の文字が含まれている行を削除してください。
行の削除は行全体を削除してください。
サンプルでは5行目と10行目を削除

f:id:abv72:20210816132223p:plain

 

自分の解答

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 With

End Sub

 修正箇所

①処理開始前にフィルターを解除しておくコードを追加。

 

Offset後に削除している為、一行下の空行も削除している。
問題がある場合はResizeを使うかIntersectで対応する。

f:id:abv72:20210816132746p:plain