Importar datos de un archivo a otro actualizando la numeración y conservando la información de ambos archivos

Para Elsa. Buenos dias Sra. Elsa ante todo agradecerle por las respuestas que me sirvieron de mucho y bueno la consulta que quiero hacerle es la siguiente tengo dos archivos 1 se llama epidemiologia y el otro se llama libro 1 ambos tienen el mismo formato pero epidemiologia tiene la extesion un archivo con macros(xlsm) y libro1 la extension de una archivo nomal (xls). Bueno la pregunta es como podria insertar la informacion del archivo libro 1 al archivo epidemiologia, agregando la informacion en la ultima fila vacia y conservando los datos que estan ingresados en el archivo epidemiologia todo esto por medio de un boton que se encuentre en el archivo epidemiologia,

Una cosa mas porfavor Sra Elsa como se va ingresar informacion de otro libro que quizas tenga el mismo numero de orden habria la posibilidad de que al momento de ingresar esos datos se modifique automaticamente la numeracion para que siga llevando la secuencia .

Muchas Gracias Sra Elsa por la ayuda que tenga buen dia.

1 respuesta

Respuesta
2

Ya te preparare la otra macro.

Sdos!

Muchas Gracias

Dejo aquí la nueva macro con todas las aclaraciones:

Sub MacroActualiza()
'x Elsamatilde
'verifica que se encuentre el libro en la ruta especificada
ruta = ThisWorkbook.Path    '.... ATENCIÓN: x ahora en la misma carpeta que el libro activo
librox = "Libro1.xlsx"       '----ATENCIÓN: ajustar nombre y extensión del libro a capturar
carpeta = ruta & "/" & librox
If Dir(carpeta, vbDirectory) = "" Then
    MsgBox "No se encontró el 'Libro1' en la ruta asignada, el proceso se cancela.", , "ERROR"
    Exit Sub
End If
'si el libro aún no está abierto se procede a abrirlo
For Each wb In Workbooks
    If wb.Name = librox Then esta = 1: Exit For
Next wb
'guardo el nombre de este libro para regresar
origen = ActiveWorkbook.Name
Application.ScreenUpdating = False
If esta = 0 Then
    Workbooks.Open carpeta
    'pasa al libro activo nuevamente
    Workbooks(origen).Activate
End If
'asigno nombre de libro y hoja 2 a variable  ----ATENCIÓN con el nro de hoja
Set wbd = Workbooks(librox).Sheets(2)
'establezco cuál es la primer fila libre en Hoja2 del libro activo (Epidemiología)
ActiveWorkbook.Sheets(2).Select
desti = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row + 1
'copia el rango del libros
wbd.Range("A2:J" & wbd.Range("A" & Rows.Count).End(xlUp).Row).Copy _
Destination:=ActiveSheet.Range("A" & desti)
'ajusta la numeración de la col A
fini = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
If desti > 3 Then
    ActiveSheet.Range("A" & desti - 2 & ":A" & desti - 1).AutoFill Destination:=ActiveSheet.Range("A" & desti - 2 & ":A" & fini)
End If
MsgBox "Fin del pase."
'opcional: cerrar el libro1 sin guardar cambios
Workbooks(librox).Close False
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas