Llenar datos en un listbox

Luis. Lo que deseo es esto! Tengo una macro que mediante un bucle me llena unas columnas de excel con datos, como puedo llenar un listbox del form con esos mismos datos en columnas.

1 respuesta

Respuesta
4

Te mando mi solución con un ejemplo, sígueme:

Tenemos en la hoja1 las columnas A, B y C con datos desde la fila 2 hacia abajo puesto que la fila 1 es el encabezado.

Queremos llenar nuestro listbox1 con los datos de dichas columnas, sería así:

(La propiedad columncount del listbox1 debe de ser 3)

Private Sub CommandButton1_Click()
'por luismondelo
Sheets("hoja1").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, 2)
ActiveCell.Offset(1, 0).Select
Loop
End Sub

El proceso lo ejecuto mediante un botón, pero podríamos haber elegido el evento INITIALIZE para que se cargara el listbox en el momento de abrirlo.

No olvides finalizar la consulta

gracias por contestar !

estimado luis! si deseo que el listbox se llene también con los encabezados y formato de moneda para los datos, como se hace ?

mil gracias

Como los datos los hemos introducido en el listbox mediante la sentencia additem, los encabezados los tienes que poner creando unos label a mano encima de cada columna.

Para que los datos tengan formato de moneda, basta con que en las celdas de excel estén con dicho formato, de esta manera llegarán con formato de moneda al listbox

Si quieres poner encabezados dentro del listbox tienes que cargarlo con rowsource, te pongo un ejemplo:

Dentro de las propiedades del listbox tienes que poner en true la característica columnsheads y con valor 3 la caracteristica columncount.

Private Sub CommandButton1_Click()
'por luismondelo
listbox1.rowsource = "hoja1!a2:c30"
End Sub

recuerda finalizar

mil gracias luis! pero tengo un duda es que los datos que estoy llenado ene excel los estoy sobrescribiendo en una misma columna y eso es justamente lo que quiero hacer con el listbox que el usuario vaya acumulando cada ingreso en columnas en el listbox mas no en excel. po ejemplo : Mediante un bucle genero 12 veces 100 en la columna A me va a parecer 100 repetido 12 veces y lo que quiero es que al mismo tiempo me muestre esas serie en el listbx, luego ingreso por ej 12 veces -100 , entonces como se esta sobrescribiendo en la columna , me va aparecer 12 veces 0 ya que se resto 100 de 100 pero quiero que en el listbox mea parezca en la 2 columna la serie de -100 y asi sucesivamente....

de antemano.

muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas