Hola expertos como coger datos de un listbox y realizar autofiltro en excel con macros.
Necesito una ayudita estoy haciendo formulario que me permita hacer filtros, cuento con dos combo1, combo2, txt1, txt2 y un botón
Este es el código que utilizo:
Application.ScreenUpdating = False
Workbooks.Open Filename:="D:\DATA\data.xlsx"
Range("A1").Select
Application.ScreenUpdating = False
Selection.AutoFilter
Range("A1").Select
ActiveSheet.Range("$A$1:$F$394").AutoFilter Field:=1, Criteria1:=Left(combo1.Text, 2)
Range("B1").Select
ActiveSheet.Range("$A$1:$F$394").AutoFilter Field:=2, Criteria1:=Left(combo2.Text, 3)
Range("C1").Select
ActiveSheet.Range("$A$1:$F$394").AutoFilter Field:=3, Criteria1:=txtaño.Text
Range("D1").Select
ActiveSheet.Range("$A$1:$F$394").AutoFilter Field:=4, Criteria1:=txtcodigoproducto.Text
Application.Goto reference:="R1C1"
Bueno esto me funciona bien, pero solo para una búsqueda tengo el siguiente resultado:
Dato1 dato2 2012 codproducto1 serie1
Dato1 dato2 2012 codproducto1 serie2
Dato1 dato2 2012 codproducto1serie3
Lo que necesito es que en una sola búsqueda pueda traer varios codproducto a la vez solo tengo una caja de texto para codproducto:
Con la grabadora de macros obtengo esto:
ActiveSheet.Range("$A$1:$F$394").AutoFilter Field:=4, Criteria1:=Array( _
"000004", "000005", "000007", "000008", "000009", "000010"), Operator:= _
XlFilterValues.
Se me ocurrió una caja de texto EL CUAL SIRVA PARA LLENAR un LISTBOX LOS CÓDIGOS QUE SE DESEA FILTRAR, LUEGO COGER LOS CODPRODUCTOS INGRESADOS AL LISTBOX Y PONERLO EN EL ARRAY COMO MUESTRA CON LA MACROS ARRIBA(REEMPLAZAR "000004","000005", etc) por los valores del listbox, pero no se como hacerlo.
Estimados, gracias por esta info. ¿Pero tengo una duda como puedo agregar más filtros si tengo 3 o más listbox? Saludos. - Miguel Ruiz