Мне нужно создать связанную функцию поиска в VBA, которая также автоматически обновляется после ввода данных в заданные поля поиска. Мне удалось сделать это успешно со следующими разделами кода:
Поиск автофильтра - в стандартном модуле
Код:
Sub FilterTo1Criteria()
With Sheet3
If Range("A3") <> vbNullString Then
.AutoFilterMode = False
.Range("A6:J1015").AutoFilter
.Range("A6:J1015").AutoFilter Field:=1, Criteria1:=Range("A3")
Else
Selection.AutoFilter
End If
End With
End Sub
Смена/автоматическое обновление листа — находится в модуле рабочего листа.
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$3" Then
Application.EnableEvents = False
FilterTo1Criteria
Application.EnableEvents = True
End If
End Sub
Однако на странице смены листа мне нужны ячейки A3: J3 в качестве критериев, но мне также нужно, чтобы функция автоматического поиска работала, если заполнены только A3 и D3 или если заполнен только A3 (D3 пуст) , или если заполнено только D3 (A3 пусто), но у меня возникают проблемы с попыткой составить код для получения этого эффекта. Насколько сложнее я должен буду сделать это? Есть ли какие-то примеры, о которых кто-то знает, на которые я могу посмотреть, чтобы почерпнуть какую-то информацию? Трудно найти какую-либо...
Слайсер со сводной таблицей — это потенциальный путь, но я думаю, что некоторые люди ниже по течению используют Excel 2003, и я не думаю, что слайсер работает так далеко.
Заранее спасибо!