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

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...

1 respuesta

Respuesta
1
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...
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...
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
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...
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...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas