Код VBA для фильтрации столбца с помощью поля ввода

Im ищет фильтр столбца на основе кода, который пользователь помещает в поле ввода.

я использовал следующий код:

Sub Filter()
'
' Filter Macro
Dim strName As String
strName = InputBox(“What DMA would you like to search for?”)
Selection.AutoFilter
ActiveSheet.Range("$A:$AS5969").AutoFilter Field:=3, Criteria1:="=*" & strName & “ * ”, Operator:=xlAnd
End Sub

но он показывает ошибку компиляции: синтаксическая ошибка в макросе Excel

может кто-нибудь помочь мне, пожалуйста?

спасибо,
Дивья S

15
задан Akina
27.02.2023 17:54 Количество просмотров материала 2627
Распечатать страницу

2 ответа

Я собираюсь предположить, что вы хотите простую маску, так что вам не нужен дополнительный пробел во второй подстановки. Кроме того, вам нужно правильно "" и выключение обновления экрана является хорошей идеей. Для диапазона можно также использовать параметр With statememt. Лучше было бы использовать явное имя листа, а не Activesheet в случае, если текущий Activesheet не тот, который вы ожидали.

Option Explicit
Public Sub Filter()
    Application.ScreenUpdating = False
    Dim strName As String
    strName = InputBox("What DMA would you like to search for?")
    With ActiveSheet.Range("$A:$AS5969")
        .AutoFilter
        .AutoFilter Field:=3, Criteria1:="*" & strName & "*"
    End With
    Application.ScreenUpdating = True
End Sub
0
отвечен QHarr 2023-03-01 01:42

вы можете попробовать этот простой код для фильтра:

Sub InputFilter()
Dim strInput As String
strInput = InputBox("Enter your value to filter on")
Selection.AutoFilter
ActiveSheet.Range("$A:$A").AutoFilter Field:=1, Criteria1:=strInput
End Sub

Б. Н. помните Field значение в коде настраивается, если критерий соответствует столбцу 2 для фильтрации, то оно должно быть Field:=2

Примечание изменить ссылки на ячейки по мере необходимости.

0
отвечен Rajesh S 2023-03-01 03:59

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх