Excel tarda en responder al aplicar filtro con vba

Option Explicit
Private Sub cmb_art_borrar_filtro_Click()
Range("e15").CurrentRegion.AutoFilter
Hoja4.txt_art_buscar.Value = ""
End Sub
Private Sub txt_art_buscar_Change()
Dim Criterio As String
    If Hoja4.txt_art_buscar.Value <> "" Then
        Criterio = "*" & Hoja4.txt_art_buscar.Value & "*"
        Range("e15").CurrentRegion.AutoFilter Field:=1, Criteria1:=Criterio
    Else
        Criterio = ""
        Range("e15").CurrentRegion.AutoFilter
    End If
End Sub

Tengo este codigo, me sirve para hacer busqueda mientras escribo en un textbox.

Cuando voy borrando caracteres del textbox el excel va bien, pero cuando el textbox queda vacio excel tarda bastante en responder.

¿Hay alguna linea o lineas de codigo para evitar esa tardanza?

1 Respuesta

Respuesta
1

Prueba con lo siguiente:

Option Explicit
'
Private Sub cmb_art_borrar_filtro_Click()
    Range("e15").CurrentRegion.AutoFilter
    Hoja4.txt_art_buscar.Value = ""
End Sub
'
Private Sub txt_art_buscar_Change()
    Application.ScreenUpdating = False
    Dim Criterio As String
    If Hoja4.txt_art_buscar.Value <> "" Then
        Criterio = "*" & Hoja4.txt_art_buscar.Value & "*"
        Range("e15").CurrentRegion.AutoFilter Field:=1, Criteria1:=Criterio
    Else
        'Criterio = ""
        'Range("e15").CurrentRegion.AutoFilter
        If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
    End If
    Application.ScreenUpdating = True
End Sub


[Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas