Concatenar nombre del libro esta en celda b5 de la hoja 2
Al ejecutar una macro me crea una hoja, en ella me copia la información que se requiere, pero me guarda con un nombre fijo la quiero concatenarlo con el nombre de la empresa.
ActiveWorkbook.SaveAs Filename:="C:\A\REGISTRO COMPRAS PARA CONCAR.xlsx", CreateBackup:=False
Cual seria el cambio a realizar.
Intenta así:
Dim a As String ruta = "C:\A\REGISTRO COMPRAS PARA CONCAR " a = Sheets("Hoja2").Range("B5").Value ActiveWorkbook.SaveAs Filename:= ruta & a & ".xlsx" CreateBackup:=False
Hola Daniel:
Esta es la macro original:
Sub NUEVOARCHIVOC()
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
ActiveSheet.DisplayPageBreaks = False
Sheets("concar").Select
Sheets("concar").Copy
ActiveWorkbook.SaveAs Filename:="C:\A\REGISTRO COMPRAS PARA CONCAR.xlsx", CreateBackup:=False
ActiveWindow.Close
Sheets("DATOS").Select
Range("H5").Select
End Sub
E tratado de modificar con los parámetros que me has indicado pero no se puede ejecutar, a la vez quisiera que se cambia a GUARDAR COMO para seleccionar la ruta donde se guardará el archivo.
Saludos.
Si muestras la ventana para guardar el concatenado no servirá de nada solo necesitas agregar la línea:
Application. GetSaveAsFilename
En vez de la línea que usas para guardar
Hola Daniel:
Disculpa que hasta el momento no se logra lo que busco, lo que deseo es que me guarde en la dirección donde se ejecuta la macro, y que me coloque los nombre de acuerdo a las celdas indicadas, cabe indicar que estas celda no se encuentran en la misma hoja, y con la extensión xlsm.
Encontré una macro como esta pero me guarda en mis documentos.
Dim Ruta As String
Dim nombre As String ' variable para el nombre
'ingreso el nombre sin extensión
nombre = "REGISTRO COMPRAS CONCAR_"& Range("EMPRESA").Value & "0" & Range("MES").Value & Range("AÑO").Value
'lo guardo con el nombre especicado y pongo la extención
ActiveWorkbook.SaveAs FileName:=Ruta & Trim(nombre) & ".xls"
Espero con esto se de solucion a lo que deseo.
Saludos.
Inténtalo así:
Sub NUEVOARCHIVOC() Dim a As String ruta = "C:\A\REGISTRO COMPRAS PARA CONCAR " a = Sheets("Hoja2").Range("B5").Value Sheets("concar").Select Sheets("concar").Copy ActiveWorkbook.SaveAs Filename:= ruta & a & ".xlsx" Sheets("DATOS").Select Range("H5").Select End Sub
Yo ya lo probé y si funciona, si no te funciona o esa ruta no existe, o esas hojas no existen.
Si le quieres cambiar la ruta constantemente puedes guardarlo en una celda y llamarla igual que con la variable "a".
Sub NUEVOARCHIVOC() Dim a As String ruta = ActiveWorkbook.Path a = Sheets("Hoja2").Range("B5").Value Sheets("concar").Select Sheets("concar").Copy ActiveWorkbook.SaveAs Filename:=ruta & a & ".xlsx" Sheets("DATOS").Select Range("H5").Select End Sub
Hola Daniel:
Me sale un error la hoja que selecciono para el nombre.
a = Sheets("INICIO").Range("E8").Value
Este es el error.
Saludos.
Hola Daniel:
La ruta que tengo donde ejecuto mi libro es esta:
\\Rocio-pc\d\informacion de la d central\d\Victor\d\CLIENTES ESTUDIO VES\CLIENTES\CAMPANA FUENTES EILEN\DDJJ MENSUALES\AÑO 2019\PRUEBA
Al ejecutar la macro me guarda aqui:
\\Rocio-pc\d\informacion de la d central\d\Victor\d\CLIENTES ESTUDIO VES\CLIENTES\CAMPANA FUENTES EILEN\DDJJ MENSUALES\AÑO 2019
Una carpeta antes, no se cual es el error que estoy cometiendo.
Saludos.
Hola Daniel:
A la vez me guarda con el nombre de la carpeta donde debió guardarse.
En este caso es PRUEBANOMBRE(Nombre es el nombre que se le dio)
Saludos.
Te adjunto macro completa:
Sub NUEVOARCHIVOC()
'
' NUEVO Macro
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
ActiveSheet.DisplayPageBreaks = False
Dim a As String
Ruta = ActiveWorkbook.Path
a = "REGISTRO COMPRAS CONCAR_" & Range("EMPRESA").Value & "_" & "0" & Range("MES").Value & Range("AÑO").Value
Sheets("concar").Select
Sheets("concar").Copy
ActiveWorkbook.SaveAs FileName:=Ruta & a & ".xlsx"
ActiveWindow.Close
Sheets("COMPRAS").Select
Range("H5").Select
End Sub
Haber si encuentras el error.
Saludos.
Que hay dentro de Range("EMPRESA"). Value, Range("MES"). Value, Range("AÑO").Value?
¿Son matrices o un valor único?
Hola Daniel:
Son celdas nombradas:
Pertenece a la Hoja19(INICIO), E5(EMPRESA), E8(MES), E10(AÑO)
El problema no tengo con el nombre de la hoja es donde se guarda.
Lo realiza en una carpeta antes de la ruta que te indique líneas arriba.
Saludos.
Me indicas que el Ruta = ActiveWorkbook.Path guarda mi libro en donde ejecuto mi macro, pero no lo guarda aquí sino en una carpeta antes.
Saludos.
Agradezco tu tiempo, en la solución del caso.
Seria posible que me ayudaras con una pregunta que hasta la fecha no tiene respuesta.
Ocultar datos dependiendo del mes seleccionado
Gracias
- Compartir respuesta