如何在excel中创建动态过滤器?

时间:2014-01-25 11:21:17

标签: excel excel-vba vba

我正在开发excel,并且在实现动态功能方面没有太多经验。

我正在尝试对excel表进行编程,使其根据在特定单元格中输入的值(例如4rth col和1st row)过滤值。

Col1: Client_Name
Col2: Title
Col3: Balance

因此,它就像基于用户在第4列和第1行输入的值搜索Col1一样。这可能使用excel吗?我还没有参与VBA,但如果这是解决方案,那么我想继续使用它..任何参考都会帮助我..

我想让它全部动态,以便最终用户只需输入位于4rth col&的单元格的值。第一行并标签以查看结果......除此之外,最终用户不应该被迫在其他地方点击以获得所需的结果......

1 个答案:

答案 0 :(得分:2)

只需将以下代码添加到与您的数据对应的工作表Sheet Module中(参见下图)。每次D1中的值发生更改时,都会重新应用列A:C的过滤器:

Private Sub Worksheet_Change(ByVal Target As Range)
    'If changed any other cell do nothing
    If Target.Address <> "$D$1" Then Exit Sub

    AutoFilterMode = False
    'Field:=1 means that filter applies to third column of A1:C1 - i.e. column A
    Range("A1:C1").AutoFilter Field:=1, Criteria1:="=" & Target
End Sub

enter image description here