Cargar listbox con datos de otro archivo

La rutina siguiente me carga mi listbox con la hoja1 de mi archivo Optimizar

A1.RowSource = "'" & Hoja.Name & "'!A2:L" & Hoja.Range("A" & Rows.Count).End(xlUp).Row

Lo que deseo es que teniendo abierto mi archivo Optimizar el listbox ahora cargue datos del archivo BaseOp, hoja Operaciones. ¿Cuáles seria las modificaciones?

1 respuesta

Respuesta
3

Esta puede ser una opción

Private Sub UserForm_Activate()
Set l1 = Workbooks("BaseOp")
Set hoja = l1.Sheets("Operaciones")
a1.RowSource = "[BaseOp.xlsx]Operaciones!A2:L" & hoja.Range("A" & Rows.Count).End(xlUp).Row
End Sub

Esta otra opción

Private Sub UserForm_Activate()
Set l1 = Workbooks("BaseOp")
Set hoja = l1.Sheets("Operaciones")
a1.RowSource = "[" & l1.Name & "]" & hoja.Name & "!A2:L" & hoja.Range("A" & Rows.Count).End(xlUp).Row
End Sub

Experto:

Para ambos casos sale error en la primera línea:

Set l1 = Workbooks("BaseOp")

Uso de la propiedad no es válido. Entiendo que l1 = ListBox1. Bueno intente con ambas pero igual sale error

Ah, tienes que tener un libro que se llame BaseOp y lo tienes que tener abierto, eso es lo que pusiste: "ahora cargue datos del archivo BaseOp"

Experto:

El libro esta abierto pero sale error ahora en la última línea:

A1.RowSource = "[" & l1.Name.& "]" & hoja.Name & "!A2:L" & hoja.Range("A" & Rows.Count).End(xlUp).Row

Esta es toda la rutina:

Private Sub UserForm_Activate()
Workbooks.Open Filename:="D:\Soporte_Optimiza\BaseOp.xls"
Set l1 = Workbooks("BaseOp")
Set hoja = l1.Sheets("Operaciones")
A2.RowSource = "[" & l1.Name & "]" & hoja.Name & "!A2:L" & hoja.Range("A" & Rows.Count).End(xlUp).Row
End Sub

Cómo se llama tu listbox

A1 ó A2?

¿Qué mensaje de error te aparece?

También Prueba con esta

a1.RowSource = "[BaseOp.xls]Operaciones!A2:L" & hoja.Range("A" & Rows.Count).End(xlUp).Row

Sub indice fuera del intervalo

ListBox1 se llama como tal.

Experto correectión .. ya sale ... lo que sucedia era que primero abria el form y luego el archivo. ahora si lee. Pero como hago para que me muestre en el Lixtbox las 08 columnas que quiero? y como hago para que me muestre de primer plano la data del día de hoy por ejemplo ( ya con el scroll pueod subir para ver lo anterior)

Puedes finalizar esta pregunta y crear una por cada petición.

Te adelanto que para ver más columnas tienes que modificar la propiedad columncount del listbox a 8.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas