Excel 中具有 2 个条件的文本筛选列的快捷方式

Short-cut for Text Filter column with 2 criteria in Excel

我需要在 sheet 中大量使用 Filter + Text Filter + Contains + 和 + Contains 自定义过滤器。但是走到那条线需要很多时间。

我愿意:

有一个快捷方式可以直接转到那个"Contains+and+Contains"选项,

P.S:由于我总是在一个单元格中搜索不同的单词组合以找到最佳匹配,因此 link 也没有帮助我。

您可以创建一个显示所需 "Contains+Contains" 表单的宏,然后为其设置一个快捷键,您甚至可以在指向它的 Quick-Access 工具栏中添加一个自定义按钮。

假设您要操作的过滤器的 drop-down 在 "Sheet1" 的单元格 A1 处(根据您自己的布局调整):

Sub showContains()
    With Worksheets("Sheet1")              ' <-- customize to your case
        .Activate
        .Range("A1").Select                ' <-- customize to your case
        Application.SendKeys "%{DOWN}fa"
    End With

    ' The line below will setup key `F12` to invoke again the macro, so that
    ' you need to launch it regularly only once, and then via F12...
    Application.OnKey "{F12}", "showContains"
End Sub

要在 Quick-Access 工具栏中设置启动宏的按钮,请在 Excel 的 GUI 中执行此操作:

Right-click the Ribbon --> Customize Quick-Access-Toolbar --> more commands
--> choose commands from(macros) --> select the macro showContains.

一些解释

首先选择具有过滤器的 header 单元格后,Application.SendKeys "%{DOWN}fa" 模拟以下击键:

  • Alt + DownArrow 打开嵌入在所选单元格中的过滤器对话框

  • f 这是 Text Filters 菜单项的热键

  • aContains 菜单项的热键

如果根据您的要求,您想直接转到第二个 "contains" 项目,您可以将击键模式修改为:

Application.SendKeys "%{DOWN}fa{Tab}{Tab}C{Tab}"

最后,要让宏 "guess" 要为哪个字段打开对话框,那用一个宏是行不通的。您最终可以做的是使这个子参数具有范围,并为每个字段制作不同的(macro/shortcut-key)。