LoginSignup
0
3

More than 5 years have passed since last update.

ExcelのオートフィルタをVBAでちょっと便利に

Posted at

使い方

オートフィルターがかかっているシートで、絞り込みたい値のセルを選択し、
キーボードの[END]キーを押すと、部分一致で絞り込む
もう一度押すと解除する

Caputure.gif

コード

ThisWorkbook.cls
Option Explicit

Private Sub Workbook_Open()
    Application.OnKey "{END}", "ThisWorkbook.FilterOnOff"
End Sub

Sub FilterOnOff()
    Dim a As AutoFilter, c As Long, v As String
    With ActiveCell
        Set a = .Parent.AutoFilter
        If a Is Nothing Then Exit Sub
        c = .Column - a.Range.Column + 1
        If c < 1 Or a.Filters.Count < c Then Exit Sub
        v = "*" & .Value & "*"
    End With
    With a
        If .Filters(c).On Then
            .Range.AutoFilter c
        Else
            .Range.AutoFilter c, v
        End If
    End With
End Sub

0
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3