如何在 Excel 中单元格内键入时进行即时过滤搜索?


Excel 是一款强大的电子表格程序,它提供了丰富的功能来帮助您有效地组织和分析数据。过滤数据是这些功能之一,它允许您轻松地在大型数据库中识别特定信息。下面的教程将重点介绍一种特定的过滤技术,称为即时过滤搜索。与需要手动输入搜索条件并应用过滤器的传统过滤方法不同,即时过滤搜索会在您在单元格中键入时过滤数据,提供与您的搜索词匹配的实时结果。

在单元格中键入时进行即时过滤搜索

这里,我们首先创建一个表格,然后插入一个 ActiveX 控件文本框,最后将 VBA 代码添加到文本框中以完成任务。因此,让我们看看一个简单的过程,了解如何在 Excel 中单元格内键入时进行即时过滤搜索。

步骤 1

考虑一个 Excel 表格,其中包含一个数据列表。

首先,选择单元格范围,然后单击“插入”,选择“表格”,然后单击“确定”。

选择单元格 > 插入 > 表格 > 确定。

步骤 2

然后单击表格,然后单击“设计”,将表格命名为“名称”,然后单击回车键。

表格 > 设计 > 名称 > 回车。

步骤 3

然后插入一个 ActiveX 控件文本框。要插入文本框,请单击“开发工具”和“插入”,然后单击“文本框”并绘制。

开发工具 > 插入 > 文本框 > 绘制。

步骤 4

然后右键单击文本框,选择“属性”,将“链接单元格”输入为表格的任何单元格,然后关闭“属性”。

右键单击 > 属性 > 链接单元格 > 关闭。

步骤 5

然后再次右键单击该框,并选择“查看代码”,并将以下代码替换到文本框中。

代码

Private Sub TextBox1_Change()
Dim xStr, xName As String
Dim xWS As Worksheet
Dim xRg As Range
   On Error GoTo Err01
   Application.ScreenUpdating = False
   xName = "Name"
   xStr = TextBox1.Text
   Set xWS = ActiveSheet
   Set xRg = xWS.ListObjects(xName).Range
   If xStr <> "" Then
      xRg.AutoFilter field:=1, Criteria1:="*" & xStr & "*", Operator:=xlFilterValues
   Else
      xRg.AutoFilter field:=1, Operator:=xlFilterValues
   End If
Err01:
Application.ScreenUpdating = True
End Sub

步骤 6

然后单击 Alt+Q 并退出设计模式以完成任务。

结论

在本教程中,我们使用了一个简单的示例来演示如何在 Excel 中单元格内键入时进行即时过滤搜索,以突出显示特定数据集。

更新于: 2023-07-12

81 次查看

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告