Saltar al contenido

Filtrar 2 columnas de una tabla mediante 2 textbox


Recommended Posts

Hola, les comento mi inconveniente, tengo una tabla con 11 columnas, la cual estoy filtrando mediante un textbox con macro, pero cuando quiero filtrar una segunda columna manteniendo el filtro en la primera, este último se borra, osea que no puedo tener las 2 columnas filtradas al mismo tiempo, aclaro que no tengo conocimiento en macros, solo adapté mi hoja a un ejemplo que vi en la web, el codigo que uso en el text box es este:

Private Sub TextBox1_Change()
Application.ScreenUpdating = False
With Range("AH1").CurrentRegion
    filas = .Rows.Count
    col = .Columns.Count
End With

Set CLIENTE = Range("D2").Resize(filas, col)

With CLIENTE
    .AutoFilter
    .AutoFilter field:=4, Criteria1:="*" & TextBox1.Text & "*"
    
End With
Application.ScreenUpdating = True
End Sub

 

Este es el filtro de la columna 4, pero cuando aplico el mismo filtro adaptado a la columna 6, filtra ésta  pero se borra el filtro en la columna 4. 

Hay alguna forma que filtren en simultaneo si necesidad de un combobox? porque vi que utilizan ese sistema, que igual no pude adaptarlo

Espero haberme hecho entender, desde ya muchas gracias.

Enlace a comentario
Compartir con otras webs

Debes quitar la sentencia .Autofilter, ponla en un botón para borrar el filtro.

Por supuesto, debes obtener el rango CLIENTE en cada uno de los procedimientos, o también puedes ponerlo en un procedimiento común como variable pública y llamarlo desde cada uno de ellos, o si siempre es el mismo, obtenlo en el procedimiento Initialize del formulario.

'Alcambio de TextBox1
With CLIENTE
    .AutoFilter field:=4, Criteria1:="*" & TextBox1.Text & "*"
End With

'Alcambio de TextBox2
With CLIENTE 
    .AutoFilter field:=6, Criteria1:="*" & TextBox2.Text & "*"    
End With

'En un botón aparte
With CLIENTE 
    .AutoFilter 
End With

Sin archivo poco más se debe decir.

 

Enlace a comentario
Compartir con otras webs

Funcionó muy bien, era una "boludez" como decimos acá.

Otra consulta, ¿que procedimiento debo hacer para que al ingresar en esa hoja, el cursor se posicione dentro del textbox1 y no tener que hacer click dentro de él para empezar a buscar?

Yo ingreso a la hoja mediante un botón, en otra, con la macro del tipo:

Sheets("REGISTRAR PRODUCTOS").Select

Desde ya muchas gracias y disculpen la molestia

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.