问与答124:如何根据输入值进行动态筛选?

2021-05-07 10:41:23 浏览数 (1)

Q:我想在工作表中应用动态筛选,当我在文本框中输入时,Excel会根据我输入的数据动态显示工作表中与输入值相匹配的数据,如何实现?

如下图1所示,在工作表单元格B1中放置了一个文本框控件,当在该文本框中输入数据时,工作表中会根据输入的值自动匹配并显示相应的数据行。

图1

A:在该工作表代码模块中,输入下面的代码:

Private Sub TextBox1_Change()

If Len(TextBox1.Value) = 0 Then

Sheet1.AutoFilterMode = False

Else

If Sheet1.AutoFilterMode = True Then

Sheet1.AutoFilterMode = False

End If

Sheet1.Range("A2:C" &Rows.Count).AutoFilter Field:=1, Criteria1:="*" & TextBox1.Value& "*"

End If

End Sub

代码利用了Excel的自动筛选功能来实现。相应的效果如下图2所示。

图2

注:今天的问题来自于ozgrid.com论坛,供有兴趣的朋友参考。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

0 人点赞