VBA-使用InputBox筛选出多个值

VBA-使用InputBox筛选出多个值,vba,excel,excel-2010,Vba,Excel,Excel 2010,我试图让我的代码过滤掉多个值,这样我就可以看到列表中可能保留的任何员工。当我输入一个名字(即“Smith”)时,它会非常有效,因为它确实会将这个名字从我的列表中删除。但是,当我尝试输入另一个名称(例如“White”)时,“Smith”会返回列表,而“White”则会被过滤掉。我希望这两个名字都被过滤掉,以及我可能需要的任何其他名字 Sub Driver() Dim Driver As String uiDriver = Application.InputBox("Filter

我试图让我的代码过滤掉多个值,这样我就可以看到列表中可能保留的任何员工。当我输入一个名字(即“Smith”)时,它会非常有效,因为它确实会将这个名字从我的列表中删除。但是,当我尝试输入另一个名称(例如“White”)时,“Smith”会返回列表,而“White”则会被过滤掉。我希望这两个名字都被过滤掉,以及我可能需要的任何其他名字

Sub Driver()

    Dim Driver As String

    uiDriver = Application.InputBox("Filter out Driver", Type:=2)
    If uiDriver = "False" Then Exit Sub: Rem Cancel pressed

    Range("A1").Select
    Selection.AutoFilter
    Selection.AutoFilter field:=2, Criteria1:="<>*" & uiDriver & "*", Operator:=xlAnd

End Sub
子驱动程序()
将驱动程序设置为字符串
uiDriver=Application.InputBox(“筛选出驱动程序”,类型:=2)
如果uiDriver=“False”,则退出Sub:Rem取消按下
范围(“A1”)。选择
自动筛选
Selection.AutoFilter字段:=2,准则1:=“*”&uiDriver&“*”,运算符:=xlAnd
端接头

任何提示都将不胜感激,谢谢

因为OMG a
Rem
comment,所以投票被提升!我只是看到我的生活在眼前一闪而过,在14英寸的电视上滚动的C-64 BASIC 2.0列表的记忆,蓝色背景上的白色。。。很高兴看到您没有为代码行编号。话虽如此,[NEWLINE]是VBA中的指令分隔符标记,第二个
自动筛选
调用需要逗号后的下划线/行继续标记(即应读取
&“*”,
),否则编译器无法解析该
运算符:=xlAnd
部分,尾随逗号无效。现代VB*代码对注释使用单引号
'按了取消键
您也在声明
驱动程序
,但分配(并使用)
uiDriver
。在模块顶部指定
Option Explicit
,这样就不会让您的代码愉快地编译和运行胡说八道了。@Mat'sMug(y)在那里笑了笑,仅仅因为OMG a
Rem
注释!我只是看到我的生活在眼前一闪而过,在14英寸的电视上滚动的C-64 BASIC 2.0列表的记忆,蓝色背景上的白色。。。很高兴看到您没有为代码行编号。话虽如此,[NEWLINE]是VBA中的指令分隔符标记,第二个
自动筛选
调用需要逗号后的下划线/行继续标记(即应读取
&“*”,
),否则编译器无法解析该
运算符:=xlAnd
部分,尾随逗号无效。现代VB*代码对注释使用单引号
'按了取消键
您也在声明
驱动程序
,但分配(并使用)
uiDriver
。在模块顶部指定
Option Explicit
,这样打字错误就不会让你的代码愉快地编译和运行毫无意义的东西。@Mat'sMug在那里笑了笑(y)