📜  动态 Excel 筛选器搜索框

📅  最后修改于: 2022-05-13 01:56:16.785000             🧑  作者: Mango

动态 Excel 筛选器搜索框

过滤器是最常用的功能,用于过滤掉大型数据集中的任何特定结果。谷歌、亚马逊、Youtube、Flipkart 等大公司使用动态过滤器搜索,我们只需输入一个字符,它就会开始显示推荐的结果。在本文中,我们将通过一个示例来学习如何创建一个动态的 excel 过滤搜索框。在此示例中,我们将创建一个动态 excel 过滤器搜索框,它将根据在搜索框中键入的内容搜索和过滤数据。

逐步实现过滤搜索框

按照以下步骤实现过滤搜索框:

第 1 步:首先,我们将打开 Microsoft Excel 应用程序,我们将定义以下列“课程名称”和“课程链接”。并将数据添加到其中。您可以根据需要定义自己的列和数据。

打开 Microsoft Excel 应用程序

选择表格样式后,Excel 会弹出一个窗口,您需要在其中检查“我的表格有标题”。

第 2 步:现在,我们将创建一个过滤器和搜索输出布局。为此选择一些不同的单元格(在这里,我们将选择 D1)并将其命名为 GFG 搜索过滤器。我们将通过格式化来美化我们的过滤器。为此,请转到“主页”>“样式”>“单元格样式” ,然后选择良好格式样式。

创建过滤器和搜索输出布局

第 3 步:在此步骤中,我们将在 Excel 工具栏中提供开发人员选项。为此,请转到任何工具(在这里,我们选择绘图),然后右键单击它并选择“自定义功能区.. ”选项。

选择自定义功能区选项

excel将打开弹出选项,我们需要检查开发人员复选框并单击确定。这将启用开发人员选项并使其在 Excel 顶部工具栏中可用。

打开弹出选项

第 4 步:现在,我们将为搜索过滤器插入一个文本框。为此,我们将转到Developer > Insert > Click On Textbox

为搜索过滤器插入文本框

我们可以将文本框放在 Excel 中任何我们想要的位置。在这里,我们将其保留在“ GFG 搜索过滤器单元格下方。

GFG-搜索-过滤单元

第 5 步:在这一步中,我们将文本框与一个单元格链接(这里,我们将它与单元格 E1 链接)。因此,如果我们在搜索框中输入任何内容,它也会在单元格中输入。为此,我们将双击文本框,这将打开一个新窗口“ Microsoft Visual Basic for Application ”。在 Properties-Textbox 选项卡中,我们将它与我们的 E1 单元格链接。

打开新窗口-Microsoft-Visual-Basic-for-Application

现在,我们需要取消选择“设计模式”以检查我们链接的单元格是否正常工作。

第 6 步:在进一步移动之前,我们需要更改我们将在过滤器脚本中使用的表名。为此,选择表格的任何单元格并转到表格设计选项卡并更改表格名称。 (在这里,我们将其更改为tbl_data )。

转到表格设计选项卡并更改表格名称

第 7 步:在这一步中,我们将编写 VBA(Visual Basics for Application)脚本。此脚本将根据文本框中输入的内容过滤数据。

Private Sub TextBox1_Change()
Application.ScreenUpdating = False
ActiveSheet.ListObjects("tbl_data").Range.AutoFilter Field:=2, Criteria1:= "*" & [E1] & "*", Operator:=xlFilterValues
Application.ScreenUpdating = True
End Sub

在上面的脚本中,我们可以在第一行看到脚本在 TextBox1 上运行。我们使用了“ Application.ScreenUpdataing = False ”这将隐藏搜索操作。我们使用了表名“ tbl_data ”和单元格名“ E1 ”。现在,excel 将从表 tbl_data 中过滤在单元格 E1 中输入的数据,一旦完成,我们将从“ Application.ScreenUpdataing = True ”更新结果,这将最终显示完成的任务结果。

完成脚本后,我们需要保存它,以便单击 VBA 工具栏上的保存按钮。

从 VBA 工具栏单击保存按钮

这将打开一个新选项卡,询问另存为无宏工作簿。单击是并保存。

单击“是”并保存

第 8 步:在这一步中,我们将对齐文本框以增强设计。为此,转到开发人员 > 选择设计模式。在此之后,我们将按住我们的文本框并将其移动到单元格 E1 并隐藏它。

注意:不要忘记从开发人员选项中取消选择设计模式。

输出

在这里,我们将测试我们的动态搜索过滤器。