Фильтр по значению ячейки внутри таблицы - PullRequest
0 голосов
/ 04 августа 2020

У меня есть таблица от А2 до А7. Ячейка A1 не принадлежит этой таблице.

Пока ячейка A1 пуста, указанный ниже макрос работает правильно, но когда я ввожу любое значение в ячейку A1, макрос перестает работать. Отладчик VBA сообщает: Не удается запустить метод автофильтрации Rang (ErrorCode 1004).

Public Sub FilterOnCellValue()
    Dim nField As Long
    With ActiveCell
        nField = .Column - .CurrentRegion.Cells(1).Column + 1
        .CurrentRegion.AutoFilter Field:=nField, Criteria1:=.Value
    End With
End Sub

Вопрос: как я могу ограничить мой макрос фильтрацией только внутри таблицы?

enter image description here введите описание изображения здесь

Обновление: Я хочу использовать этот макрос во всех таблицах и всех файлах, а не в определенной таблице. Есть ли решение?

1 Ответ

0 голосов
/ 04 августа 2020

просто выберите тот, который вам больше нравится

  1. Дайте имя своей таблице и используйте table.range.filter вместо CurrentRegion. ActiveSheet.ListObjects("mytable").Range.AutoFilter

  2. вставить пустую и скрытую строку между A1 и таблицей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...