Ya lo revisé en tu código y funciona de esta manera:
Private Sub TextBox1_Change()
'Unprotect "5"
Dim Criterio As String
Dim f As Range
If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
Set f = Range("B:B").Find(TextBox1.Value, , xlValues, xlPart, , , False)
If f Is Nothing Then
MsgBox "El Registro Filtrado NO Existe en la Tabla de Datos", vbOKOnly, "DIMENSION SALUD AMBIENTAL Lug"
Exit Sub
End If
If Sheets("SALUDAMBIENTAL").TextBox1.Value <> "" Then
Criterio = "*" & Sheets("SALUDAMBIENTAL").TextBox1.Value & "*"
Range("A3:K" & Range("B" & Rows.Count).End(3).Row).AutoFilter 2, Criterio
End If
'Protect "5"
End Sub
Private Sub TextBox2_Change()
'Unprotect "5"
Dim Criterio As String
Dim f As Range
If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
Set f = Range("F:F").Find(TextBox2.Value, , xlValues, xlPart, , , False)
If f Is Nothing Then
MsgBox "El Registro Filtrado NO Existe en la Tabla de Datos", vbOKOnly, "DIMENSION SALUD AMBIENTAL Lug"
Exit Sub
End If
If Sheets("SALUDAMBIENTAL").TextBox2.Value <> "" Then
Criterio = "*" & Sheets("SALUDAMBIENTAL").TextBox2.Value & "*"
Range("A3:K" & Range("B" & Rows.Count).End(3).Row).AutoFilter 6, Criterio
End If
'Protect "5"
End Sub
Te explico el autofiltro.
CASO 1:
Range("A3:K" & Range("B" & Rows. Count).End(3). Row). AutoFilter 2, Criterio
Cuando empieza el rango en "A", si quieres filtrar por la columna "B" entonces en Field escribes un 2. Significa que la A es el campo 1, la B es el campo 2, la C es el 3, etc.
----
CASO 2:
Range("B3:K" & Range("B" & Rows. Count).End(3). Row). AutoFilter 1, Criterio
Cuando empieza el rango en "B", si quieres filtrar por la columna "B" entonces en Field escribes un 1. Significa que la B ahora es el campo 1, la C es el 2, etc.
Recomendación del día:
Curso de Excel equivalencias, conversiones, porcentajes, impuestos, iva, área, precio más bajo - YouTube
----
sal u dos