• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:条件に一致しない行を全て削除した場合「ActiveSheet.ShowAllData」がエラーになる)

エクセルVBAで条件に一致しない行を削除し、フィルタの解除方法

このQ&Aのポイント
  • 条件に一致しない行を削除した場合、ActiveSheet.ShowAllDataがエラーになる問題について解決方法を探しています。
  • 現在はOn Error Resume Nextで対応していますが、VBAでちゃんと処理する方法はないでしょうか?
  • また、フィルタの青い三角マークをクリックして「すべて」を選んでも青いままになる問題も解決したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 こんな感じになるかと思います。 Sub Test1()   With ActiveSheet     .Range("A1").CurrentRegion.AutoFilter _     Field:=1, Criteria1:="=あああ"  'あああと等しくない     If WorksheetFunction.Subtotal(3, .AutoFilter.Range.Columns(1)) > 1 Then       Application.DisplayAlerts = False       With .AutoFilter.Range         .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete       End With       Application.DisplayAlerts = True     End If     .ShowAllData 'すべての表示 (▼が残ります)     .AutoFilterMode = False 'フィルタの解除   End With End Sub

thuurhurhu
質問者

お礼

おお!すごいです。できました!大変参考になりました。ご回答ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A