Excel VBA自动筛选器每列有多个输入

时间:2013-11-29 23:38:25

标签: excel vba criteria autofilter

我正在尝试编写代码来自动过滤“职务代码”列,这是一个三位数字。这个想法是让用户输入他们正在寻找的特定作业代码,宏将返回具有相应作业代码的所有行。当列中输入多个作业代码时,我遇到了问题(某些列可能只有一个作业代码,而其他列则有2个或更多)。具体来说,使用我编写的宏,它只返回包含单个作业代码的行,或者如果我在搜索中将作业代码写为 XXX ,它只返回包含的行多个工作代码 - 我永远无法让它返回两种情况。请参阅下面的我正在使用的代码:

Dim JobCode As String

JobCode = InputBox(prompt:="Which Job Code?", Title:="Job Code")

ActiveSheet.ListObjects("Table4").Range.AutoFilter Field:=6, Criteria1:="=*JobCode*", Operator:=xlOr, Criteria2:=JobCode

任何建议都将不胜感激。感谢

1 个答案:

答案 0 :(得分:1)

当您在"之间放置某个内容时,它会变成一个字符串,而JobCode是一个变量。

尝试此操作(经过测试和测试)。

JobCode = InputBox(prompt:="Which Job Code?", Title:="Job Code")

ActiveSheet.Range("A1:F7").AutoFilter Field:=6, _
Criteria1:="=*" & JobCode & "*", Operator:=xlOr, Criteria2:=JobCode

截图:

enter image description here