¿Macro para abrir un archivo excel y guardarlo con el nombre y ruta que indica otro archivo excel?

Muy buenos días, soy nuevo en esto de la programación con
macros y quisiera de su apoyo y ayuda con este problema.

Tengo un archivo (TRABAJANDO INFORME) donde estoy creando
mis macros, bien entonces en la columna “D” tengo las rutas de los archivos, en
la columna “E” tengo los nombres de los archivos, en la columna “F” los nuevos
nombres que voy a trabajar y por último en la columna “G” tengo los botones con
los cuales controlo las macros.

Bien lo que quiero es lo siguiente: que al presionar el botón me abra el archivo que indica la ruta y el nombre (columnas D y E) y una vez abierto el archivo supongamos (REPUESTOS_10" me guarde una copia con la ruta y el nuevo nombre "REPUESTOS_11" (columnas D y F) y luego de haber hecho todo me cierre ambos y solo quedarme con el archivo "TRABAJANDO INFORME" … ahora es eso posible????? OJO QUE LOS NUEVOS NOMBRES ESTÁN EN EL ARCHIVO QUE CONTIENE LAS MACROS ES DECIR EL ARCHIVO “TRABAJANDO INFORME”. Ya que desde ahí controlo todo

Bueno gracias por sus respuestas

1 respuesta

Respuesta
1

Te paso mi solución sigue mis instrucciones:

En la celda D1 tenemos la ruta (el último carácter tiene que ser la barra \ )

En la Celda E1 tenemos el nombre (el nombre escrito con la extensión)

En la celda F1 tenemos el nuevo nombre (aquí no ponemos extensión)

Ahora nos posicionamos en la celda G1 y ejecutamos esta macro:

Es decir, te tienes que posicionar en la celda de la columna G que corresponda en línea con las otras. Ej: si nos posicionamos en la G12 nos abrirá el archivo anotado en la E12 y lo renombrará con lo escrito en la F12...

Sub proceso()
'Por Luismondelo
mio = ActiveWorkbook.Name
nombre = ActiveCell.Offset(0, -1).Value
ruta = ActiveCell.Offset(0, -3).Value
Workbooks.Open ruta & ActiveCell.Offset(0, -2)
ActiveWorkbook.SaveAs ruta & nombre
End Sub

recuerda finalizar y puntuar

excelente me funciona a la perfección ahora solo queda un detalle y para cerrar el nuevo archivo creado??? que tengo que agregar???? a la rutina??? podrías poner una breve explicación a cada linea si no es mucha molestia...

Gracias

En ese caso la macro entera quedaría así:

Sub proceso()
'Por Luismondelo
mio = ActiveWorkbook.Name
nombre = ActiveCell.Offset(0, -1).Value
ruta = ActiveCell.Offset(0, -3).Value
Workbooks.Open ruta & ActiveCell.Offset(0, -2)
ActiveWorkbook.SaveAs ruta & nombre
activeworkbook.close false
End Sub

recuerda finalizar y puntuar

Te mando un saludo.

muchas gracias Luismondelo, estaré haciendo mas preguntas en el transcurso del día estoy tratando de armar una sola macro para cada tarea... y luego combinarlas...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas