エクセル複数シートにおける同時抽出&行削除処理について
解決したいこと
エクセルの集計業務においてVBAを使用しています。
特定の値のセルをもつ行について、複数シート同時に抽出し行削除する処理を行いたいです。
思うような結果が得られませんので解決方法をご教示願います。
ネット記事にて紹介されているコードを切り貼りして作成したものになります。
エクセルVBA初心です。よろしくお願いします。
macOS sonoma, office365
発生している問題・エラー
下記コードにおいて、
特定の値のセルをもつ行について、複数シート同時に抽出することはできるのですが、
行削除する処理が、選択しているシートのみに行われ、その他のシートは抽出された状態で処理が終了してしまいます。エラー表示はありません。
該当するソースコード
Sub MultiSheetFilter()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Dim targetRange As Range
ws.Range("A1", "XFD1048576").AutoFilter Field:=2, Criteria1:="(特定の値)"
With Range("A1").CurrentRegion
Set targetRange = .Offset(1, 0).Resize(Rows.Count - 1).SpecialCells(xlCellTypeVisible)
targetRange.Delete shift:=xlUp
End With
Next ws
End Sub
自分で試したこと
複数のネット記事を参考に、いろいろなコードで試した結果、なんとか現在の結果まで辿りつくことはできました。
あとどこを直せば期待する結果が得られるのか、ご教示いただけますと幸いです。
0