Activesheet
Señores espero se encuentren bien
Tengo un textbox1 como objeto sobre la planilla, este elemento filtra un autofiltro de la hoja, pero sucede que le digo al textbox, cuando tenga tres caracteres quedece vacío, pero nuevamente ejecuta toda la rutina, ¿me explico?
O sea, quiero que me filtre el 522 en la base, pero una vez que lo haga vuelvace vacío, pero al decirle eso, nuevamente se ejectua la macro y es como decirle filtre por vacío en conclusión no me filtra por ninguna y me muestra toda la información.
Private Sub TextBox1_Change()
Dim Nico As Long
On Error GoTo Tot
If TextBox1.Value = Empty Then
ActiveSheet.ShowAllData
Else
Nico = ActiveSheet.TextBox1.Value
Selection.AutoFilter Field:=1, Criteria1:=Nico
If Len(ActiveSheet.TextBox1.Value) = 3 Then
ActiveSheet.TextBox1.Text = Empty
End If
End If
Tot:
End Sub
Claramente al ejecutarse nuevamente me realiza el primer if. Pero como hago para que no lo haga.
Muchas gracias
Tengo un textbox1 como objeto sobre la planilla, este elemento filtra un autofiltro de la hoja, pero sucede que le digo al textbox, cuando tenga tres caracteres quedece vacío, pero nuevamente ejecuta toda la rutina, ¿me explico?
O sea, quiero que me filtre el 522 en la base, pero una vez que lo haga vuelvace vacío, pero al decirle eso, nuevamente se ejectua la macro y es como decirle filtre por vacío en conclusión no me filtra por ninguna y me muestra toda la información.
Private Sub TextBox1_Change()
Dim Nico As Long
On Error GoTo Tot
If TextBox1.Value = Empty Then
ActiveSheet.ShowAllData
Else
Nico = ActiveSheet.TextBox1.Value
Selection.AutoFilter Field:=1, Criteria1:=Nico
If Len(ActiveSheet.TextBox1.Value) = 3 Then
ActiveSheet.TextBox1.Text = Empty
End If
End If
Tot:
End Sub
Claramente al ejecutarse nuevamente me realiza el primer if. Pero como hago para que no lo haga.
Muchas gracias
1 respuesta
Respuesta de Orlando Collarte