• ベストアンサー

Excelで、ブック中すべてのシートのオートフィルタ解除

Excel2002(officeXP)で、編集->検索から検索対象をすべてのブックとしたときに、オートフィルタを設定したシートですでにフィルタをかけていると、フィルタで除外されているデータが検索されません。 フィルタがかかっているシートがわかっている場合は、データ->フィルタ->すべて表示をかけるのですが、すべてのシートのフィルタを「すべて表示」したい場合、どのような方法がありますか。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

オートフィルタ自体は解除せず、フィルタの絞り込みを解除するマクロです。コードの整理ができていないので冗長ですが、とりあえず動作はしました。 このマクロをBOOKの標準モジュールにペーストして実行して下さい Sub 絞り込み解除() Dim idxSheet, idxField , cntField As Integer Dim curSheet, curADRS As String   Application.ScreenUpdating = False curSheet = ActiveSheet.Name curADRS = Selection.Address For idxSheet = 1 To  ActiveWorkbook.Worksheets.Count If Worksheets(idxSheet).AutoFilterMode Then cntField = Worksheets(idxSheet).AutoFilter.Filters.Count Worksheets(idxSheet).Activate ActiveSheet.Cells(1, 1).Select For idxField = 1 To cntField Selection.AutoFilter Field:=idxField Next idxField End If Next Worksheets(curSheet).Select ActiveSheet.Range(curADRS).Activate Application.ScreenUpdating = True End Sub

A-Kawa
質問者

お礼

早速実行してみました。希望通りの動作で感激しました。 マクロは初心者なので、きれいに整理されるよりも今回のサンプルの方が理解しやすかったです。整理はもう少し内容をながめて理解してから挑戦してみます。 ありがとうございました。

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

ActiveSheet.AutoFilterMode = False として解除してしまうのが手っ取り早いです。 必要なら、別の場所でフィルタをセットしましょう。 解除以外なら、 Selection.AutoFilter Field:=1 Selection.AutoFilter Field:=2 Selection.AutoFilter Field:=3        : と、フィルタ設定をリセット(すべて表示)していくことになります。

関連するQ&A