• ベストアンサー

複数フィルターのリセット

立て続けに質問ばかり出しています。 下記の処理を同時に行う場合、1行の記述で済ませることができますか? Selection.AutoFilter Field:=1 Selection.AutoFilter Field:=2 Selection.AutoFilter Field:=3 今は問題なく稼動しているので別に構わないのですが、今後もっともっと多いフィルターを一度にリセットさせる場合はどうしようかと疑問に思った次第です。

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

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

こんにちは。 たぶん、こういうことでは?  With ActiveSheet  If .AutoFilterMode And .FilterMode Then   .ShowAllData  End If  End With  

Velvet-R
質問者

お礼

ありがとうございます。現時点で描いていた処理に適した回答です。 今は3列のフィルターを利用して数種類程度の集計をしているだけですが、 いずれ20列前後中の複数列の条件を組み合わせて十数通りの集計が必要になると考えていました。 これで不要な手間をかけずに「リセット&再集計」ができそうです。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

繰り回し処理に持ち込むため、Array関数で配列的なデータを持つ。 列は不連続で、クライテリアも自由指定で A列1、B列2、D列t のオートフィルター AND条件で絞られます。 条件数は4以上増やせるのは簡単だと判りますね。 Sub test01() c = Array("", 1, 2, 4) cr = Array("", 1, 2, "t") Selection.AutoFilter For i = 1 To 3 Cells(1, c(i)).AutoFilter Field:=c(i), Criteria1:=cr(i) Next i End Sub

Velvet-R
質問者

お礼

求めていた以上の回答でした。 複数条件の集計はこの方法で、リセットはNo.1の方の回答方法で、と早速利用させて頂きます。 ありがとうございました。

Velvet-R
質問者

補足

お礼を投稿した後ですが、ありがとうポイントを付けるにあたりWendy02様とimogasi様、どちらも20ポイントのお礼をしたかったのですが、 今回は最初に求めていた回答をして下さったWendy02様に20ポイントを差し上げることにしました。 imogasi様には他の質問への回答も頂いており感謝しております。 これからもよろしくお願い致します。

関連するQ&A