• ベストアンサー

【365】フィルタの解除方法

N3にあいまい検索欄を設定し、入力後に自動的にフィルタリングされるようマクロで設定しました。 ---------------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target.Address 'セル色塗り Case "$L$1" If Intersect(Target, Range("L1")) Is Nothing Then Exit Sub Else Call セル色塗り Range("L1").Select End If '会社名検索 Case "$N$3" If Target.Address <> Range("N3").Address Then Exit Sub End If Range("$A$5:$AW$2005").AutoFilter Field:=14, Criteria1:="=*" & Range("N3") & "*" '画面を左上に戻す ActiveWindow.ScrollColumn = 1 ActiveWindow.ScrollRow = 1 End Select End Sub ---------------------------------------------------- N3を消去してもなぜかフィルタがかかったままになってしまいます。 N3が消去された後、N列のみフィルタを解除するマクロをご教示ください。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.1

If Range("N3").Value = "" Then ActiveSheet.ShowAllData Exit Sub End If Range("$A$5:$AW$2005").AutoFilter Field:=14, Criteria1:="=*" & Range("N3") & "*" にしてみてください。

KO1014
質問者

お礼

ご回答ありがとうございました。 できました!! 空欄にすれば自動的にフィルタ解除されるものと思っていたのに、全データが表示された状態でフィルタリングされているのには驚きました。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.2

> N列のみフィルタを解除する 見逃してました 回答No.1の ' ActiveSheet.ShowAllData を Range("$A$5:$AW$2005").AutoFilter Field:=14 にしてください。

KO1014
質問者

お礼

再度のご回答ありがとうございました。 他の列でフィルタがかかった状態で会社検索することが多いので「N列のみ」とさせていただきました。 指定列のフィルタを解除したい場合はこのマクロを設定すればいいのですね。 フィルタ解除後画面が左上に戻らなかったので、ActiveWindow~を追加しました。 他の列でも同じようなマクロを設定すれば、いちいち手動でフィルタする必要無いですね。

関連するQ&A

専門家に質問してみよう