Cargar datos a un listBox desde una hoja de Excel

Tengo un userform con un listBox de cuatro columnas la cual abro estando en la hoja 1 y quisiera que me cargue los datos que se encuentran en la hoja 2 comprendida en un rango de B18 a E47 (son un total de 30 filas y 4 columnas) trabajo en excel 2007. Mi pregunta es como cargo los datos descriptos en ese rango dentro de mi listBox. Muchísimas gracias por el tiempo tomado por leer todo y por el animo de responder. ... Mis respetos.

1 respuesta

Respuesta
3

Tenemos más de una opción posible:

1- Asignar un nombre de rango al de los datos en Hoja2. En el Userform, seleccioná el Listbox y desde el panel de Propiedades a tu izquierda, buscá la que se llama RowSource y allí escribí:

=nombre_de_rango    'aquí irá el nombre que colocaste al crearlo.

2- En la propiedad RowSource colocas directamente la referencia, por ej:

=Hoja2!A2:D30

3- Llenar el listbox en el evento Initialize recorriendo el rango:

Private Sub UserForm_Initialize()
For Each celd In Sheets("Hoja1").Range("A2:A30")
    ListBox1.AddItem celd.Value      'col A
    ListBox1.List(i, 1) = celd.Offset(0, 1)   'col B
    ListBox1.List(i, 2) = celd.Offset(0, 2)   'col C
    ListBox1.List(i, 3) = celd.Offset(0, 3)   'col D
    i = i + 1
Next celd

Utiliza la que cubra tus necesidades o sino comenta para qué utilizarás este control y te recomendaré el más apropiado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas