下記表に対して下記処理を実行した際、
フィルタされていない全てのデータ含めヘッダ以外のすべてのデータが消えてしまいます。
フィルタした結果何もデータがなかった場合
何もデータを消さないという処理を書きたいのですが
どのように書けばよろしいでしょうか。
Option Explicit
Sub sample()
Dim targetRange As Range 'オートフィルタの設定と表の1列目「名前」を文字列「鈴木」で絞り込み Worksheets("sample").Range("B2").AutoFilter field:=1, Criteria1:="鈴木" '絞り込んだ行(=表示させた行)のみを対象として取得 With Worksheets("sample").Range("B2").CurrentRegion Set targetRange = .Resize(.Rows.Count - 1).Offset(1, 0) End With '絞り込んだ行(=表示させた行)のみを削除 targetRange.Delete Shift:=xlUp 'オートフィルタを解除 Worksheets("sample").Range("B2").AutoFilter
End Sub
表
名前 売上
ーーーーーーーー
佐藤 500
田中 20
井上 30
佐藤 500
田中 50
井上 60
佐藤 500
田中 80
井上 90

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/22 09:32 編集
2022/02/23 05:07
2022/02/24 05:08