Это для текстового поля после обновления.Он будет фильтровать только при значении, превышающем 0. Однако я не могу найти, куда добавить, что он выдает сообщение об ошибке, если значение введено, но не может быть найдено в диапазоне фильтра
If tbAC.TextLength > 0 Then
AGCN = Rows("1:1").Find(what:="AGC", lookat:=xlWhole).Column
ActiveSheet.ListObjects("Table1").Range.AutoFilter field:=AGCN, Criteria1:=tbAC
'Assuming that I'm supposed to add a line of code here, smth along the line of if criteria:=""
'Msgbox "Invalid Input"
ElseIf tbAC.TextLength = 0 Then
tbAC = ""
End If
Успех редактирования!
Private Sub tbAC_AfterUpdate()
Dim AGCN As Long
Dim AGCL As String
Dim Namef As Range
AGCN = Rows("1:1").Find(what:="AGC", lookat:=xlWhole).Column
AGCL = Split(Cells(1, AGCN).Address, "$")(1)
If tbAC.TextLength > 0 Then
'Set Namef = Range(AGCL:AGCL).Find(tbAC)
Set Namef = Range(AGCL & ":" & AGCL).Find(tbAC)
If Namef Is Nothing Then
MsgBox ("Invalid Input")
Else
ActiveSheet.ListObjects("Table1").Range.AutoFilter field:=AGCN, Criteria1:=tbAC
End If
ElseIf tbAC.TextLength = 0 Then
tbAC = ""
End If
End Sub