回答編集履歴

1

追記

2021/01/26 08:44

投稿

退会済みユーザー
test CHANGED
@@ -23,3 +23,49 @@
23
23
  ```
24
24
 
25
25
  EntireRowは行全体のRangeを返すプロパティなのでここがキモになりそうですかね
26
+
27
+
28
+
29
+
30
+
31
+ 追記
32
+
33
+ リンク先のコードは正常に動作したのと下記コードでも想定通りの動作になりました。
34
+
35
+ エラーが出る場合は別の所が原因のようにも見えます。
36
+
37
+ ```VBA
38
+
39
+ Sub main()
40
+
41
+
42
+
43
+ Dim sankou As Worksheet
44
+
45
+ Set sankou = ThisWorkbook.ActiveSheet
46
+
47
+
48
+
49
+ '最終行を取得
50
+
51
+ Dim gyousu
52
+
53
+ gyousu = sankou.Range("A1").End(xlDown).Row
54
+
55
+
56
+
57
+ 'フィルターをかける
58
+
59
+ sankou.Range("A1:I" & gyousu).AutoFilter Field:=9, Criteria1:=Array("リンゴ", "イチゴ"), Operator:=xlFilterValues
60
+
61
+   'With Range("A1")だとA列にデータがない場合全部消してしまうのでここだけ変更。
62
+
63
+ With Range("I1").CurrentRegion.Offset(1, 0)
64
+
65
+ .Resize(.Rows.Count - 1).EntireRow.Delete
66
+
67
+ End With
68
+
69
+ End Sub
70
+
71
+ ```