Leer archivos de Excel

Hola valedor mira tengo una hoja de registro hecha en Excel, en esta hoja tengo varios combobox mi primera pregunta es la siguiente: como puedo leer la propiedad text de esos combobox desde otro archivo de Excel.
Mi segunda pregunta es la siguiente: como puedo yo desde un botón en una hoja de Excel leer varios archivos de Excel que se encuentran en una carpeta especifica y leer cada uno de los datos que tengan para posteriormente ponerlos en la hoja en donde se encuentra el botón.
De antemano mil gracias por tu ayuda y por tomarte la molestia de contestar este e-mail
Atentamente
Aida

1 respuesta

Respuesta
1
Te llamas igual que una de mis hermanas...
Para tu primer pregunta estoy suponiendo que el libro donde tienes los ComboBox que quieres leer esta cerrado...
Public Sub LeerCombos()
Dim strRuta As String
Dim wbLibro As Workbook
'Ruta completa del archivo que quiero abrir
strRuta = "D:\1Usuarios\Mau\Pruebas\Ejemplo de controles.xls"
'Abro el libro y establesco una referencia
Set wbLibro = Workbooks.Open(strRuta)
'Muestro los valores de dos ComboBox que estan en la hoja1
MsgBox wbLibro.Sheets("Hoja1").ComboBox1.Text
MsgBox wbLibro.Sheets("Hoja1").ComboBox2.Text
'Cierro el libro
wbLibro.Close
'Libero la memoria
Set wbLibro = Nothing
End Sub
También, estoy suponiendo que están en la Hoja1, como veraz solo tienes que adaptar este código a tus valores...
Tu segunda pregunta es un poco más ambigua, pero la respuesta es igual que la anterior, al Botón que mencionas le tienes que agregar el siguiente código...
Option Explicit
Private Sub CommandButton1_Click()
Dim strRuta As String
Dim wbLibro As Workbook
'Ruta completa del archivo que quiero abrir
strRuta = "D:\1Usuarios\Mau\Pruebas\Ejemplo de controles.xls"
'Abro el libro y establesco una referencia
Set wbLibro = Workbooks.Open(strRuta)
'Muestro algunos valores, claro en vez de mostrarlos los puedes
'dejar en cualquier celda de cualquier libro que tengas abierto
MsgBox wbLibro.Sheets("Hoja1").Range("A1").Value
MsgBox wbLibro.Sheets("Hoja1").Range("B1").Value
'Cierro el libro
wbLibro.Close
'Libero la memoria
Set wbLibro = Nothing
End Sub
Si en vez de mostrarlo en un cuadro de texto, lo quieres dejar en una celda solo cambias las lineas...
MsgBox wbLibro.Sheets("Hoja1").Range("A1").Value
MsgBox wbLibro.Sheets("Hoja1").Range("B1").Value
por...
Range("A1").Value = wbLibro.Sheets("Hoja1").Range("A1").Value
Range("A2").Value = wbLibro. Sheets("Hoja1"). Range("B1").Value
O claro, la celda donde quieras dejar estos datos, tomando en cuenta que los dejara en tu hoja activa, si lo quieres en otra hojas, seria algo así...
Sheets("Hoja2").Range("A1").Value = wbLibro.Sheets("Hoja1").Range("A1").Value
Sheets("Hoja2").Range("A2").Value = wbLibro.Sheets("Hoja1").Range("B1").Value
Aunque todavía hay un pequeño detalle que ya te darás cuenta y que te queda de tarea...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas