Turbo Filtro con ListBox

Es mi primera pregunta en este foro. Tengo un libro con varias hojas, una de ellas es una base de datos (con más de 70 columnas) que se alimenta con un formulario. Mi pregunta es como puedo hacer para que en un list box con un autofiltro me muestre en una consulta solo determinadas columnas por ejemplo la columna 1 que contiene la llave (matricula), la columna 2(nombre), la columna 25 (status) y la columna 78 (grupo).

1 respuesta

Respuesta
1

Te mando mi solución:

Primera creamos un userform en el que insertamos un listbox y dentro de sus propiedades debemos poner 3 en columncount

Después en el evento INITIALIZE del formulario ponemos esta macro:

En mi ejemplo he supuesto que los datos están en la primera hoja del libro y empiezan desde A2 hacia abajo.

De esta manera al arrancar el formulario tendrás tu listbox cargado con todos los datos de solo las 3 columnas que pides.

Private Sub UserForm_Initialize()
Sheets(1).Select
Range("a2").Select
Do While ActiveCell.Value <> ""
ListBox1.AddItem ActiveCell
i = ListBox1.ListCount - 1
ListBox1.List(i, 1) = ActiveCell.Offset(0, 1)
ListBox1.List(i, 2) = ActiveCell.Offset(0, 24)
ActiveCell.Offset(1, 0).Select
Loop
End Sub

recuerda finalizar y puntuar

Gracias por responder, este ejemplo me sirve para cuando quiero tomar columnas consecutivas. Sin embargo no encuentro como hacer para que el listbox no muestre todas las columnas sino solamente aquellas que yo quiero que muestre. Es decir si tengo una BD con 10 columnas no necesito que me muestre las columnas 1-2-3-4-5-6-7-8-9-10, sino solamente las que yo necesito por ejemplo las columnas 1-4-7-10 y las columnas 2-3--5-6-8-9 no las tome en cuenta. Se podrá hacer esto?, De antemano gracias.

La macro que he enviado no toma columnas consecutivas, concretamente toma las siguientes:

Columna 1, columna 2 y columna 24

Muchas gracias por tu ayuda, disculpa no contestar antes pero no había podido revisar los comentarios. No verifique bien la primera vez tu respuesta pero ya con la segunda revisada me quedo mas claro y la pude adecuar a lo que necesito. De antemano gracias por tu tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas