質問: VBA初心者のため、とりあえずやりたい処理をマクロの記録で行いました。 その結果、以下の部分があります。 ActiveSheet.Range("$A$2:$AC$1043").AutoFilter Field:=2, Criteria1:= _ "080********" Rows("317:317").Select Selection.Delete Shift:=xlUp こちらは、B列に記載されている電話番号欄の中から該当の電話番号をオートフィルターで検索し、その行ごと削除した処理になりますが、これでは317行目を削除していることになるので、行が追加されたりしてずれると、関係のない行も削除してしまう可能性があります。 B列から該当の電話番号を検索し、その行ごと削除する構文をご教示頂けないでしょうか。
回答: オートフィルタ結果を消したいという事であってますか? 以下はA1のある1行目が項目行で、A列に「2」がある行を全部削除する例です。 Range("A1").AutoFilter Field:=1, Criteria1:=2 Range("A2", Cells(Rows.Count, "A").End(xlUp)).EntireRow.Delete 見た目はA2から最後の行までとなっていますが、オートフィルタ後の「見えなくなった行」は削除の対象外になります。