EXCEL VBA - AutoFilter

| コメント(0)
エクセルのリストが1500行ほどになっていて、探し出すのに手間です。
マクロで簡単に作りました。AutoFilterをオンにし、キーワードで絞込みをします。
が、「絞込み」ボタンや「絞込み解除」ボタンを2度押すとエラーとなります。当然、オンになっているとき再度オンの命令がくれば怒りますよね。

ということでVBAのヘルプを参照して修正しました。これでボタンを何度押してもエラーになりません。

[Sample]
Sub 絞込()
' C3に検索したいキーワードがあります
' B3に件数があります
'A6が項目名で、A7からデータが入っています

Dim file_key As String
Dim last_row As Integer

filter_key = Range("C3") & ".tif"
last_row = Range("B3").Value + 6
Set w = Worksheets("検索") ' この2行がミソです
w.AutoFilterMode = False

' 以下はWeb上に転がっているサンプル
Range("A6").AutoFilter
ActiveSheet.Range("$A$6:$C$" & last_row).AutoFilter Field:=1, Criteria1:=filter_key
Range("A6").CurrentRegion.SpecialCells(xlCellTypeVisible).Select
End Sub

Sub 解除()

Set w = Worksheets("検索")
If w.AutoFilterMode then
    ActiveSheet.ShowAllData
    w.AutoFilterMode = False
End If
End Sub

コメントする

最近のブログ記事

Windows XPのOutlook Express 6.0 のスペルチェック
近所の会社の社長さんは Windows …
白菜の花
畑は春の陽気ですね。2/23以降朝の冷え…
css - リストの黒丸や四角の黒などが表示できない
比較的簡単なページを作成しています。リス…

おすすめ