使用单元格值作为参考过滤单元格

我需要过滤一个Excel工作表使用单元格值作为参考..现在我发现是使用VBA,所以这是我的代码

Private Sub Worksheet_Change(ByVal Target As Range) If (Intersect(Target, Range("f2")) Is Nothing) _ Then Exit Sub End If Cells.AutoFilter Field:=2, Criteria1:=Range("f2").Value End Sub 

但每次我改变单元格的值f2它隐藏所有单元格和excel崩溃,以某种方式…所以我需要的是:使用单元格f2作为标准的参考,筛选数据范围a1:d100,以便当单元格f2更改,a1:d100只显示标准为真的行…

字段2是一个产品的描述,就像一台电脑一样,所以每次我在f2中写入文本“HP”时,它只显示HP电脑,例如…

感谢所有,但我解决了我的问题,如果有人在这里感兴趣的是我的代码

 Private Sub Worksheet_Change(ByVal Target As Range) If (Intersect(Target, Range("f1")) Is Nothing) _ Then Exit Sub End If Cells.AutoFilter Field:=2, Criteria1:="*" & Range("f1") Cells.AutoFilter Field:=2, Criteria1:="*" & Range("f1") & "*" End Sub 

尝试以下操作:

 Private Sub Worksheet_Change(ByVal Target As Range) Dim Tbl As Range Set Tbl = Range("A1:D100") If Intersect(Range("F2"), Target) Is Nothing Then Exit Sub Tbl.AutoFilter Field:=2, Criteria1:=Range("F2").Value End Sub 

注:该筛选器可能会隐藏行#2。 这可能使更改单元格F2有点困难