Cita:
Iniciado por a83 mira ,
lo que necesito es lo siguiente;
tengo varios archivos en excel que estan en la misma carpeta donde tengo el archivo donde estoy creando la macro bien.
bueno ahora tengo que configurar un boton para que me traiga los datos de de uno de los libros que tengo en esa carpeta me entiendes ese archivo se actulisa todo los dias lo que quiero hacer es traer esa informacion a mi informe oficial lo podemos llamar
Bueno sigues sin explicarte, pero aqui te dejo codigo para copiar una hoja entera , moverla o para solo leer los datos dependiendo donde esten. .
este metodo te despliega la ventana para que elijas la ubicacion y el archivo a abrir.
Sub openfile()
sFilename = Application.GetOpenFilename
If sFilename <> "False" Or sFilename <> "False.xls" Then
'abrimos archivo
Workbooks.Open (sFilename)
Else
MsgBox ("Ha elegido cancelar el archivo. Inténtelo de nuevo")
Exit Sub
End If
End Sub
para hacerlo automatico sin que se despliegue esa ventana :
Workbooks.Open ("Ruta del archivo con nombre y extensión")
Una vez abierto solo haces referencia a los datos. Como no se si es a todas las hojas o a todas las celdas de ese libro pues solo es replicar las lineas de codigo.
celda_inicial=1
Do While Range("A" & celdainicial).Value <> ""
celdainicial = celdainicial + 1
loop
celda_final=celda_inicial
Con esto obtienes la final y la inicial haces lo mismo para las columnas y obtienes los datos. Si lo que quieres es sacar toda la hoja:
windows("elwrkbkque abriste anteriormente").activate
ActiveSheet.Move After:=Workbooks(el libro a donde quieres actualizar).Sheets(1)