我正在尝试在Excel中创建一个过滤列E的按钮。列E被命名为Category(现场,电子邮件,电话)。我想创建三个按钮,一个用于现场,一个用于电子邮件,另一个用于电话。
例如,如果我点击On-site,它应该显示所有现场问题,其他两个按钮也是如此。
Sub Button1_Click()
Range("E:E").AutoFilter Field:=1, Criteria1:="phone"
End Sub
使用此代码,我只能看到有电话的记录,而不是现场和电话的记录。
此外,它没有向我显示所有在手机前分类的问题。如果有20个问题,则只过滤10个。
谢谢!
答案 0 :(得分:0)
这可能会有所帮助。您可以使用此格式写出三个宏,根据要过滤的内容更改每个宏中的“条件”变量。这将包括具有多个条目的单元格。然后,您可以插入三个按钮(tutorial here),每个按钮链接到自己的宏。确保更改每个宏的名称!
Sub ManualFilter()
Dim criteria As String
'What to look for
criteria = "Email"
'Where to look (Column E)
Dim myRange As Range
Set myRange = Range("E2", Cells(Rows.Count, "E").End(xlUp))
Dim myCell As Range
'Compare with criteria
For Each myCell In myRange
'if it matches:
If InStr(1, myCell.Value, criteria) <> 0 Then
myCell.EntireRow.Hidden = False
Else
'if it doesn't match:
myCell.EntireRow.Hidden = True
End If
Next myCell
End Sub