Libro que no se encuentra por ningún nombre

Elsa Matilde

Estoy haciendo una macro en la que desde otro libro necesito que copie los datos de una de las hojas pero no se localiza el libro de ninguna manera.

El fichero lo genera un programa de contabilidad y podría ser que esté con una extensión rara por la que no puedo localizarlo. Y la gestión consiste en que: desde otro libro, cuando ejecute la macro, vaya al fichero que ha generado la contabilidad, copie todo el contenido de la hoja1 y lo pegue en el libro origen.

1 Respuesta

Respuesta
2

Seguramente desde el explorador lo podrás encontrar... fíjate entonces cómo se llama o por lo menos con qué extensión aparece y si se puede abrir desde Excel.

Si Excel no lo abre, tampoco una macro lo podrá hacer.

Sdos y comentame.

Hola Elsa, buenos días

Desde excel se abre al igual que los demás pero desde una macro vba no hay forma. Si pudiera ser, me gustaría enviarte el fichero que genera el programa de contabilidad para que lo puedas ver mejor.

Como siempre, muchas gracias

Envíamelo y también tu macro para ajustarla.

Sdos!

No recibí aún el libro.

Si ya lo resolviste no olvides valorar la respuesta para darla por cerrada.

Sdos!

Esta es la macro con algunas opciones según desde qué libro trabajes:

Sub abreLibro()
'x Elsamatilde
Application.ScreenUpdating = False
'guarda el nombre del libro activo para poder regresar
libro1 = ActiveWorkbook.Name
'buscar el libro de contabilidad
On Error Resume Next
'la variable guarda la ruta y nombre del archivo a abrir
librox = Application.GetOpenFilename
'si la variable está vacía significa que cancelamos la ventana de diálogo
If librox = False Then Exit Sub
'abrir el libro elegido
Workbooks.Open librox
'se guarda el nombre del libro abierto sin la ruta
libro2 = ActiveWorkbook.Name
'si se presentó algún error de apertura se avisa y cancela
If Err.Number > 0 Then
    MsgBox "Error de apertura. El proceso se cancela.", , "Información"
    Exit Sub
End If
On Error GoTo 0
'ahora se está en el libro2.
'Podrás trabajarlo desde aquí hacia el de origen, por ej:
Sheets(1).[A2:D100].Copy Destination:=Workbooks(libro1).Sheets("Hoja1").[B3]
'o regresar al libro de origen con:
Workbooks(libro1).Activate
'seleccionar la hoja necesaria
Sheets("Hoja1").Select
Workbooks(libro2).Sheets(1).[A2:D100].Copy Destination:=Sheets("Hoja2").[B3]
'para cerrar el libro contabilidad (sin guardar cambios)
Workbooks(libro2).Close False
End Sub

Te estoy enviando libro de ejemplo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas