Grabar archivo excel con nombre de una celda [Resuelto/Cerrado]

- - Última respuesta:  JuanCuazitl - 21 mar 2019 a las 00:27
Hola,
Si alguien pudiera ayudarme, le quedaría eternamente agradecido. Estoy tratando de grabar una hoja excel con el nombre del contenido de la celda A1. Lo he intentado con una macro:

nombre = Range("A1") & ".xls"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\jesus\Mis documentos\"nombre"", FileFormat:=
xlNormal , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

pero me da error de sintaxis y el contenido de la celda A1 no tiene ningún carácter raro, como me ha sugerido alguien.
Si alguien sabe cómo hacerlo y no le importa explicármelo, pues muy agradecido.
Saludos
Ver más 

5 respuestas

Mejor respuesta
107
Gracias
Bueno, acabo de solucionarlo así:

cadena = "C:\Documents and Settings\jesus\Mis documentos\" & Range("A1") & ".xls"
ActiveWorkbook.SaveAs cadena, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

Gracias de todos modos si alguien se ha molestado en leerlo.
Saludos.

Deja un "Gracias" 107

¡Estamos felices de haberte ayudado! ¿Te hemos sido de ayuda? ¡Déjanos un comentario! Evalúa a CCM

CCM 33519 usuarios nos han dicho gracias este mes

-
Hola, acabo de leerlo y me parece un muy buen aporte, gracias!
Muchas gracias
la verdad me has ayudado con esta duda con respuesta tuya XD gracias me has salvado en mis practicas
Muchas gracias. Me sirvió bastante.
9
Gracias
Sub SaveAS()
' Te guarda el archivo con la extension que requieras y en el lugar donde lo quieras

Dim MiArchivo As String
MiArchivo = Range("A1")
Application.DisplayAlerts = False
ActiveWorkbook.SaveAS Filename:= _
"C:\Users\jdelvallec\Documents\96 Jose Luis Reyes\Ventas 0 Semanal 2012\" & MiArchivo, _
FileFormat:=xlWorkbookNormal, CreateBackup:=False 'Aqui se modifica el tipo de extension que deseas
Application.DisplayAlerts = True

End Sub
RolanSanJuan
Publicaciones
1
Fecha de inscripción
jueves, 17 de septiembre de 2015
Estatus
Miembro
Última intervención
jueves, 17 de septiembre de 2015
> paco -
Hola necesito tu ayuda Urgente !!! te detallo como tengo el codigo puesto, no se que falla lo revise mil veces y cambie la direccion, siempre me dice que no existe la carpeta de destino, no se que mas hacer ni en que me equivoco, agradezco me guien por favor.

Sub GRABAR()

Dim nomb As String
Const myDir As String = "C:\users\usuario1\desktop\operaciones"
If MsgBox("¿Desea Guardar una copia?", vbYesNo, "OPERACIONES") <> vbYes Then Exit Sub
nomb = Range("Q1") & Range("Q2") & ".xlsm"
If nomb = ".xlsm" Then Exit Sub
If Dir(myDir & nomb) <> "" Then
Sino = MsgBox(" ¿La Venta ya existe, desea modificar los datos? ", vbYesNo, "Informacion")
If Sino <> vbYes Then Exit Sub
End If
On Error GoTo Err_Handler
Sheets("OPERACIONES").ExportAsFixedFormat Type:=xlTypexlsm, Filename:=myDir & nomb, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
Exit Sub
Err_Handler:
MsgBox " No existe la carpeta Operaciones, " & "verifique que esta en " & myDir
End Sub
Ecelente aporte, muchas gracias
Paco me has quitado un monton de Noches en vela, gracias!
-
Buen dia disculpa la molestia pero no me lo guarda me dice que la carpeta Salidas no existe. ) cambie el de presupuesto pro salidas)
> jaime francisco -
Hola, a mí me larga el mismo error: "No existe la carpeta Faltantes, verifique que esta en...." (cambié el nombre por faltantes)
4
Gracias
Jesus, Eh leido el post en forma rapida, entiendo que tu mismo contestate la pregunta, agradezco tu aporte

Me funciono de la misma forma

cadena = "C:\Temp\" & Range("A1") & ".xls"
ActiveWorkbook.SaveAs cadena, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False


Gracias
4
Gracias
es necesario hacer una declaracion de la variable?
algo asi como dim "nombre" as string??
0
Gracias
Muy buen aporte.
Muchas gracias.