Saltar al contenido

"Grabar como..." usando el nombre de un CELDA


Recommended Posts

Hola

Como podría guardar un archivo utilizando el contenido de una celda concreta. El tema es que tengo una plantilla que se irá actualizando en función de la introducción del DNI de la persona y quisiera que se grabara automáticamente según ese campo en concreto.

gracias

Enlace a comentario
Compartir con otras webs

Hola quechua

Bienvenido al foro (revisa las normas por favor)

Con una macro de evento sita en la hoja deseada puedes obtener lo que quieres.

El código será similar al siguiente

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
If Target = "" Then Exit Sub
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Range("A1") & ".xls"
End Sub
[/CODE]

Cuando modificas la celda A1 el archivo se te guardará automáticamente con el nombre o número que haya en A1 (tienes que evitar los caracteres no permitidos o modificar la macro para que no los acepte a fin de evitar el error consiguiente).

Un saludo desde Vitoria

Enlace a comentario
Compartir con otras webs

Hola Ioyama,

Primero de todo darte las gracias por tu ayuda.

En referencia al comando, me da error. Yo la verdad es que soy un principiante en el tema de programar macros, por lo que no se si lo hago bien.

Yo creo una macro y copio el comando que me envias y cuando la ejecuto me da el siguiente error: "...Error de compilación... Se esperaba End Sub"

Como con palabras no se si me expreso del todo bien, te adjunto el archivo que estoy intentando poner la macro.

Espero tu respuesta y reitero mi agradecimiento.

PD: No es el archivo que utilizaré ya que ocupa más espacio, pero si que está en la celda correspondiente (la naranja es donde irá el DNI y será la referencia para cuando se haga el guardar como

Ivan

MASTER con macros.zip

Enlace a comentario
Compartir con otras webs

Hola Quechua.

Con todos mis respetos al maestro Ioyama, y con permiso del maestro Macro Antonio, aquí te dejo un código que me enseñó un fiel amante al Ballantines, a una solicitud más o menos parecida a la tuya y que me funciona perfectamente.

Te explico lo que yo hice:

Te creas un botón, en propiedades del botón le pones como nombre GuardarDirecto.

Y en el código del botón, copias y pegas el código que te he puesto, claro que tendrás que cambiar la ruta y la celda que contiene la referencia.

Sub GuardarDirecto()

Archivo = "C:\Varios\" & Range("D7").Value & " " & _
Format(Date, "yyyymmdd") & " " & _
Format(Time, "hhmmss") & ".xls"
ActiveWorkbook.SaveCopyAs Archivo

End Sub[/CODE]

Bueno amigo, espero que te sirva :encouragement:

Saludos

Enlace a comentario
Compartir con otras webs

Hola.

Perdona es que tengo varios códigos y me he confundido.

Sustituye la primera línea (Sub GuardarDirecto()), por esta: Private Sub GuardarDirecto_Click().

No puedo probarlo con tu fichero porque yo utilizo Office 2003 y hay conflictos con versiones superiores.

Si lo haces tal como te lo he explicado debe funcionar, a mí me funciona.

Saludos

Edito.

He creado este pequeño ejemplo para que veas que sí funciona.

Libro2.xls

Enlace a comentario
Compartir con otras webs

¡ Bravo "Cocinillas !, así me gusta, trasmitiendo los conocimientos de "oreja a oreja", jajaja

Este es el espíritu del foro, aunque hay algunos que todavía "nosan enterao".

Un abrazo

Gracias, Antoni.

Creo que así es como debe ser, no cuesta nada y te sientes bien si puedes echar un cable a quién lo necesite. Siempre y cuando esté a tu alcance la solicitud expuesta, claro.

Un abrazo, maestro.

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.