Я использую форму пользователя для поиска в базе данных сотрудников и, если она найдена, отображает критерии.
Форма пользователя:
База данных:
Код:
'filter the data
DataSH.Range("B8:E").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=DataSH.Range("$L$8:$L$9"), CopyToRange:=Range("$N$8:$Q$8"), Unique:=False
'add the dynamic data to the listbox
lstEmployee.RowSource = DataSH.Range("outdata").Address(external:=True)
'error handler
On Error GoTo 0
Exit Sub
errHandler:
'if error occurs then show me exactly where the error occurs
MsgBox "No match found for " & txtSearch.Text
'clear the listbox if no match is found
lstEmployee.RowSource = ""
Exit Sub
Когда я ввожу имя, оно устанавливает L8 и L9 в качестве правильных введенных критериев поиска, но всегда отображает «Соответствие не найдено» & txtSearch.Text это означает, что он не фильтрует должным образом таблицу
ps кредит https://www.onlinepclearning.com/multi-page-userform-employee-database/ для вдохновения