Como creo una macro en excel para guardar como...

Respuesta de
a
Usuario
Tengo un archivo de excel y quisiera crear una macro contenida en un botón, que me guarde una copia del archivo en una carpeta con el nombre de una celda y la fecha, gracias de antemano por la colaboración prestada...
Experto
Bien... si no tienes problemas con la programación en Visual basic, te envío el código para que programes tu mismo la macro.
1.- Graba una macro con cualquier cosa, una simple pulsación de tecla, por ejemplo, y asignala a un botón.
2.- Entra en el apartado de Macros->Editor de Visual Basic y borra el código que haya generado.- Deja solo las clausulas "Sub MacroX()" y la del final "End Sub"... borra lo del medio.
3.- Ahora viene el código... te explico, y así comprenderás un poco mejor...
  -Primero, situamos el cursor en la casilla que vaya a contener el nombre del archivo y lo asignamos a una variable con la siguiente instrucción:
  DIM NombreCarpeta as String
  NombreCarpeta = Range("A1").Select
'La Celda A1, es en la que está el nombre de la carpeta.
-Después, cambiamos la carpeta al nombre asignado en la variable.
    ChDir "C:\Documents and Settings\UsuarioX\Documentos\" & NombreCarpeta
(Cuidado con el nombre de la carpeta de UsuarioX... tiene que existir en tu ordenador)
-Ahora, solo falta grabar el archivo
ActiveWorkbook.SaveAs Filename:=NombreCarpeta & "\nombre_de_fichero.xls"
- Y si quieres, puedes incluir un mensaje al usuario indicando que se ha grabado el archivo.
MsgBox "El archivo Nombre_Fichero ha sido grabado en la carpeta " & NombreCarpeta
Espero que esto te sirva... seguro que funcionará bien...
Un saludo.
Usuario
Mi hermano que pena estar molestando tanto y discúlpeme la molestia, ese procedimiento me funciono bien, pero lo que quiero es que el archivo se guarde en una carpeta predeteminada que ya tengo, y que cada vez que guarde el archivo, me lo guarde con el nombre de una celda y la fecha y se cierre quedando así en archivo original abierto... el archivo original es como una plantilla que se modifica y queda gauardado una copia para ser utilizada nuevamente, y gracias de antemano...
Experto
Ok; Como ya conoces el funcionamiento, te pongo solo el codigo; Solo tendrás que copiarlo y pegarlo en tu macro.
Sub MacroX()          'La que tu tengas definida---
  DIM NombreFichero as String
  DIM Fecha as String
   NombreFichero=Range("A1").Select    'A1 corresponde a la celda con el nombre de fichero
   ChDir "C:\Carpeta de Documentos\"
   Fecha=Format(Date(), "DDMMAA") 'Puedes cambiar el formato a tu gusto
   ActiveWorkbook.SaveAs Filename:=NombreFichero & Fecha
   MsgBox "Fichero " & NombreFichero & Fecha & " guardado"
End Sub
Usuario
Hola amigo soy yo de nuevo, que pena molestarlo tanto, gracias por la ayuda, el proceso lo hace muy bien y eso es lo que estaba buscando, pero ahora se me presenta el siguiente inconveniente, cuando guarda el archivo le pone el nombre de verdadero0510AA, y siempre coloca el mismo, yo lo único que le cambie de esa lina de comando fue la celda que tengo los datos, tu me colocaste la A1, y mis datos los tengo en la D7... ese es el único inconveniente que tengo, gracias de antemano...
Experto
Perdón... Cometí un pequeño error por no probarlo y hacerlo todo "de cabeza...
Solo tienes que cambiar la linea:
NombreFichero=Range("A1").Select

Por esta otra:
NombreFichero=Range("A1").Value
Saludos... con eso estará arreglado...
Experto
Por favor, finaliza y puntúa la respuesta...
Gracias!
Usuario
Mi hermano gracias por tu colaboración, me fue de gran ayuda...