Как Фильтр на основе данных при выборе ячейки с использованием VBA В Microsoft Excel
В этой статье вы узнаете, как фильтровать данные на основе выбора ячейки.
Вам необходимо выполнить следующие шаги:
Щелкните вкладку «Разработчик». В группе «Код» выберите Visual Basic
Введите следующий код в текущий рабочий лист (в нашем примере — Sheet1)
Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Dim xcolumn As Integer
Dim xvalue As String
xcolumn = ActiveCell.Column
xvalue = ActiveCell.Value
Если Application.Intersect (ActiveCell, [заголовки]) — это ничего, то
Если ActiveCell.Value <> «» Тогда
ActiveSheet.Range («A: d»). Поле автофильтра: = xcolumn, Criteria1: = xvalue
Отмена = Верно
Конец Если
Конец Если
End Sub
===
===
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim rownumber As Integer
rownumber = ActiveCell.Row
Если Application.Intersect (ActiveCell, [заголовки]) — это ничего, то
Если ActiveCell.Value <> «» Тогда
Диапазон («A1: D13»). Interior.ColorIndex = xlNone
Диапазон («A» & номер строки & «: D» & номер строки) .Interior.ColorIndex = 6
Конец Если
Конец Если
End Sub
Примечание. Заголовки в приведенном выше коде представляют именованный диапазон для диапазона A1: D1. Вы можете просто выбрать диапазон A1: D1 и ввести заголовки в поле «Имя» или использовать «Определенное имя» на вкладке «Формулы»
Событие BeforeDoubleClick * будет срабатывать каждый раз, когда пользователь нажимает двойной щелчок по любой ячейке, и это изменяет фильтр поиска.
-
Если мы хотим отфильтровать данные по продукту C, мы можем легко дважды щелкнуть ячейку D4, чтобы отфильтровать поиск.
Если мы хотим отфильтровать поиск по столбцу C и продукту KFCWW, тогда мы дважды щелкнем по ячейке C4, чтобы сузить данные.
Событие SelectionChange * активируется каждый раз, когда пользователь выбирает любую ячейку, и оно меняет цвет с белого на желтый. Если активная ячейка пуста, код не запускается.
-
Если мы щелкнем по ячейке B3, то строка будет выделена желтым цветом. См. Ниже снимок
Здесь вы можете увидеть, что в строке формул отображается выбранная ячейка, то есть ячейка B3. Таким образом, вы можете выделить строки одним щелчком мыши и отфильтровать данные на основе выбора ячейки с использованием кода VBA.