2013-11-29 2 views
1

Я пытаюсь написать код для автоматической фильтрации столбца «Коды работы», который представляет собой трехзначное число. Идея состоит в том, чтобы позволить пользователю ввести конкретный код задания, который они ищут, и макрос вернет все строки с соответствующим кодом задания. Я столкнулся с проблемами, когда в столбце вводится несколько кодов заданий (в некоторых столбцах может быть только один код задания, тогда как у других будет 2 или более). В частности, с макросом, который я написал, он либо возвращает только строки, которые содержат в нем один код задания, либо если я пишу код задания XXX в поиске, он возвращает только строки, которые содержат несколько кодов работы - I никогда не может заставить его вернуть оба случая. Пожалуйста, смотрите ниже код, я использую:Excel VBA Проблемы с автофильтром с несколькими входами на столбец

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

Когда вы помещаете что-то между ", тогда оно становится строкой, а JobCode является переменной.

Попробуйте это (ИСПЫТАНИЕ И ИСПЫТАНИЕ).

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

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

ScreenShot:

enter image description here

+0

спасибо. Это сработало! – user3050917

Смежные вопросы