• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数列に同じ条件で一括でフィルタをかける方法)

複数列に同じ条件で一括でフィルタをかける方法

このQ&Aのポイント
  • 複数列に同じ条件で一括でフィルタをかける方法について知りたいです。現在、1日ずつフィルタをかける作業が煩雑で大変です。
  • 1週間ごとに区切られた表で、返品の回数に応じてセルの色分けをしています。日数が増えてくると、1日ずつフィルタをかけるのが困難です。一度に複数列に同じ条件でフィルタをかける方法を知りたいです。
  • 作業中、複数列に同じ条件でフィルタをかけることがありますが、日数が増えると作業が煩雑になります。一度に複数列に同じ条件で一括でフィルタをかける方法があれば教えてください。

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

  • ベストアンサー
  • kon555
  • ベストアンサー率51% (1843/3560)
回答No.2

マクロで対応するしかないですね A1が表に含まれていると仮定して組んでみました。オートフィルタをオンにしてから使ってください。 「空白なし」と「空白のみ」は選択した範囲のオートフィルタを設定します。 「表示」は全セルを表示させます。フィルタ以外で非表示化されている行・列も表示してしまうので注意して下さい。  なお表がA1以外から始まっている場合、Range("A1").AutoFilter~ の"A1"を表内のセルの位置に書き換えてください。  添付の図の範囲であれば Range("H1").AutoFilter となります Sub 空白なし() Dim i As Long For i = Selection(1).Column To Selection(Selection.Count).Column  Range("A1").AutoFilter Field:=i, Criteria1:="<>" Next End Sub Sub 空白のみ() Dim i As Long For i = Selection(1).Column To Selection(Selection.Count).Column  Range("A1").AutoFilter Field:=i, Criteria1:="=" Next End Sub Sub 表示() If ActiveSheet.FilterMode = True Then  ActiveSheet.ShowAllData End If End Sub

finafina
質問者

お礼

先程試したみたところ、無事処理することができました! 大変助かりました。 ありがとうございました。

finafina
質問者

補足

ご回答頂きありがとうございます。 今通勤途中で実際試していないのでなんとも言えませんが マクロ内にある Range("A1").AutoFilter Field:=i, というのは、A列のみと言う意味でしょうか? 仮にH列~J列を空白のみに…となったとしても H列~J列を選択してこのマクロを実行すれば いいんでしょうか? マクロについてはほとんど素人なので 見当違いな質問であれば申し訳ありません。 よろしくお願いします。

その他の回答 (1)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

複数列に同じ条件で一括でフィルタをかける方法はありません。

finafina
質問者

お礼

ご回答頂きありがとうございます。 やはりマクロを組むしか方法はないようですね。。 ありがとうございました。

関連するQ&A