Macro para guardar archivo con el valor de una celda

No domino demasiado las macros pero he estado buscando en internet alguna macro para poder guardar un archivo con el nombre de una celda y he encontrado esto;

Sub guardaarchivo()
' Te guarda el archivo con la extensión que requieras y en el lugar donde lo quieras
Dim MiArchivo As StringMiArchivo = Range("A1")ActiveWorkbook.SaveAs Filename:= _"C:\Users\iamarti\Desktop\Control dimensional\Control verde\" & MiArchivo, _FileFormat:=xlWorkbookNormal, CreateBackup:=False 'Aquí se modifica el tipo de extensión que deseasApplication.DisplayAlerts = True
End Sub

No entiendo demasiado la orden pero la he probado, funciona bien pero me guarda un archivo xls y a mi me interesa un archivo xlsx (excel 2007 tiene mas filas y las necesito), como puedo cambiarlo.

1

1 respuesta

Respuesta
1

Te ajusto la rutina y de paso te explico lo que hace.

Sub guardaarchivo()
'x Elsamatilde
' Te guarda el archivo con la extensión que requieras y en el lugar donde lo quieras
Dim MiArchivo As String, miRuta As String
'aquí se declaran las variables que tendrán la ruta y el nombre. Ese nombre se encuentra en A1
miRuta = ThisWorkbook.Path & "\"    '***
'se le agrega la extensión que corresponda, aquí la dejé con macros
MiArchivo = Range("A1") & ".xlsm"    '*****
ActiveWorkbook.SaveAs Filename:=miRuta & MiArchivo, FileFormat:=xlWorkbookNormal, CreateBackup:=False
'Aquí se modifica el tipo de extensión que deseas --NO, ESTA LÍNEA NO HACE ESO.
End Sub

'*** si tu ruta es la del ejemplo aquí la línea sería:

miRuta = "C:\Users\iamarti\Desktop\Control dimensional\Control verde\"

'*****   Si la celda A1 tiene el nombre con la extensión no hace falta que se lo agregues.

Gracias por tu respuesta, pero intento hacerlo y me sale un error: Error en el método 'SabeAs' de objeto'_Workbook'. Como puedo solucionarlo??? Hay algún tipo de restricción?? El archivo es bastante pesado aproximadamente 780KB y tiene varias hojas con gráficos, es un incoveniente??

La primer restricción es que la función se llama SaveAs, con v corta.

Por lo demás está probado en mi equipo y funciona, pero desconozco el valor que tenga tu celda: no debe contener caracteres que no son propios de un nombre de archivo, como las barras separadoras en fechas y otras más.

Verificá esos detalles y si aún así no lo lográs pásame el contenido de tu celda (A1 en mi ejemplo)

También tenés que dejar 1 sola de las líneas que definen a la variable miRuta, quizás no exista la carpeta que colocaste en esa línea.

Revisá todo con cuidado y si el problema persiste escribime nuevamente

Gracias, he probado con otro archivo y me lo guarda.

Otra pregunta si puede ser, tengo una macro que me genera una hoja nueva con un nombre referido a una celda, puedo guardar esta hoja que se genera separada del resto en un archivo que lleve el mismo nombre que la hoja???. Le agradezco mucho cualquier respuesta que me pueda dar.

Un saludo

Solo respondemos 1 tema x vez, por respeto a otros usuarios que también esperan sus respuestas y para no mezclar los temas.

Si esta consulta quedó resuelta finaliza x favor y deja la nueva en el tablón que con mucho gusto te la responderé a su tiempo

Sdos

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas