Denunciar

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

Haz una pregunta jesus - Última respuesta: 27 may 2017 a las 19:16 por Efraroj
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 
Vota
+54
plus moins
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.
GRACIAS- 20 sep 2015 a las 21:18
Muchas gracias, Excelente

La modifique para guardar en una carpeta especifica en C

& Range("A1").Text = En esta celda esta el nombre con el que se guardara el archivo ya que es variable

ActiveWorkbook.SaveAs Filename:="C:\CARPETA\" & Range("A1").Text & ".xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
riox- 23 feb 2016 a las 21:29
Excelente. Me sirvió mucho la información. Gracias!!
alguien que ha visto la macro- 16 mar 2016 a las 19:21
Hola, acabo de leerlo y me parece un muy buen aporte, gracias!
Vota
+8
plus moins
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 1Publicaciones jueves, 17 de septiembre de 2015Fecha de inscripción jueves, 17 de septiembre de 2015 Última intervención - 17 sep 2015 a las 22:30
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
NG- 12 jun 2014 a las 21:30
Ecelente aporte, muchas gracias
Ana- 21 jun 2014 a las 00:17
Paco me has quitado un monton de Noches en vela, gracias!
jaime francisco- 6 ago 2014 a las 16:45
Buen dia disculpa la molestia pero no me lo guarda me dice que la carpeta Salidas no existe. ) cambie el de presupuesto pro salidas)
MATIAS- 27 abr 2015 a las 19:30
Hola, a mí me larga el mismo error: "No existe la carpeta Faltantes, verifique que esta en...." (cambié el nombre por faltantes)
Vota
+5
plus moins
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
Vota
+3
plus moins
es necesario hacer una declaracion de la variable?
algo asi como dim "nombre" as string??
Vota
+0
plus moins
Muy buen aporte.
Muchas gracias.

Los miembros obtienen más respuestas que los usuarios anónimos.

Ser miembro te permite llevar un seguimiento detallado de tus consultas.

Ser miembro te permite disfrutar de opciones adicionales.

¿Todavía no eres usuario?

¡Inscríbete, es gratis y toma menos de un minuto!