Macro para salvar archivo Excel

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Macro para salvar archivo Excel

Notapor eugeniogurrea » 20 Dic 2011 12:54

Quiero hacer una macro para salvar, en una ruta específica, un archivo con un nombre que incluye datos (fecha y otro texto) que estan en 2 celdas celdas. El archivo tiene una sola hoja.

Ahora bien, también quiero que esa macro se ejecute automaticamente al querer salvar el archivo.

Para incorporar la fecha al nombre del archivo tengo el siguiente código, y funciona bien:

Private Sub GuardarConFecha()
Dim RutaArchvo
Dim NombreArchivo

RutaArchivo = "N:\Work\DNA\Parte Diario" & "\"
NombreArchivo = Range("D3") & " - " & "Parte Diario " & Range("B3")

ActiveWorkbook.SaveAs Filename:=RutaArchivo & NombreArchivo, FileFormat:=xlNormal
Application.DisplayAlerts = False
ActiveWorkbook.Close
End Sub


¿Cómo puedo incorporar el tema de la ejecución automática cuando el operador haga click en el botón Salvar?

Lo quiero usar para que partiendo de un documento "base", todos los días un operario complete el documento y lo guarde con la fecha, para que quede con un registro de Parte Diario.

Espero sus comentarios.

Muchas gracias!

Eugenio
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
eugeniogurrea
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Dic 2011 14:32

Re: Macro para salvar archivo Excel

Notapor FernandoML » 20 Dic 2011 14:13

Hola eugeniogurrea:

Para hacer lo que dices en el proyecto de las macros, fijate en ThisWorkbook y haz doble Clic en el.
Inserta el siguiente codigo.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim RutaArchvo
Dim NombreArchivo

RutaArchivo = "N:\Work\DNA\Parte Diario" & "\"
NombreArchivo = Range("D3") & " - " & "Parte Diario " & Range("B3")

ActiveWorkbook.SaveAs Filename:=RutaArchivo & NombreArchivo, FileFormat:=xlNormal
Application.DisplayAlerts = False
ActiveWorkbook.Close
End Sub

Un Saludo y Suerte
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
FernandoML
Miembro Frecuente
Miembro Frecuente
 
Registrado: 20 Abr 2011 18:48

Re: Macro para salvar archivo Excel

Notapor eugeniogurrea » 20 Dic 2011 15:15

Fernando:

Muchas gracias!

Si, ya había probado y funcionó.

Ahora tengo otras inquietudes.

Me gustaría que en la celda donde el operador ingresa la fecha, ésta tenga el formato aaaa-mm-dd, y que la celda tenga una máscara de entrada para que sólo se tengan que ingresar los números, sin necesidad de colocar los signos "-" separadores, y que además valide que la cantidad de números ingresados sea la correcta (8) y sólo permita números.

También sería bueno que pueda validar que la fehca a ingresar pertenezca sólo al año en curso.

Lo que necesito es que el simbolo separador sea "-" y no "/", pues como luego uso el contenido de esa celda para nombrar el archivo, no puedo tener el signo "/" a mitad del nombre del archivo porque lo detecta como no válido.

Espero sus respuestas y comentarios!

Gracias,

Eugenio
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
eugeniogurrea
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Dic 2011 14:32

Re: Macro para salvar archivo Excel

Notapor eugeniogurrea » 20 Dic 2011 15:21

El archivo sería este que adjunto.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
eugeniogurrea
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Dic 2011 14:32

Re: Macro para salvar archivo Excel

Notapor eugeniogurrea » 21 Dic 2011 10:20

eugeniogurrea escribió:Fernando:

Muchas gracias!

Si, ya había probado y funcionó.

Ahora tengo otras inquietudes.

Me gustaría que en la celda donde el operador ingresa la fecha, ésta tenga el formato aaaa-mm-dd, y que la celda tenga una máscara de entrada para que sólo se tengan que ingresar los números, sin necesidad de colocar los signos "-" separadores, y que además valide que la cantidad de números ingresados sea la correcta (8) y sólo permita números.

También sería bueno que pueda validar que la fehca a ingresar pertenezca sólo al año en curso.

Lo que necesito es que el simbolo separador sea "-" y no "/", pues como luego uso el contenido de esa celda para nombrar el archivo, no puedo tener el signo "/" a mitad del nombre del archivo porque lo detecta como no válido.

Espero sus respuestas y comentarios!

Gracias,

Eugenio


También puede ser interesante que verifique y no deje guardar el archivo si la celdas de la fecha y turno no tienen datos.

El archivo actualizado es el adjunto.

Abrazo y gracias. Espero su ayuda!
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
eugeniogurrea
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Dic 2011 14:32

Re: Macro para salvar archivo Excel

Notapor FernandoML » 21 Dic 2011 19:19

Hola otra vez

Comprueba la modificacion que te he hecho.

Cuando entres dentro de la celda D3 aparece un calendario

En cuanto a lo de guardar comprobando las celdas D3 y Turno ya lo tienes hecho tambien en Thisworkbook

Un Saludo
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
FernandoML
Miembro Frecuente
Miembro Frecuente
 
Registrado: 20 Abr 2011 18:48

Re: Macro para salvar archivo Excel

Notapor eugeniogurrea » 22 Dic 2011 09:21

FernandoML escribió:Hola otra vez

Comprueba la modificacion que te he hecho.

Cuando entres dentro de la celda D3 aparece un calendario

En cuanto a lo de guardar comprobando las celdas D3 y Turno ya lo tienes hecho tambien en Thisworkbook

Un Saludo


Fernando:

Muchísimas gracias!

Lo que si te tengo que hacer una consulta más: al abrir el archivo, me dice que no se puede cargar un objeto porque no está disponible en el equipo. Y por lo que vi, ese objeto es el calendario.

¿Cómo lo soluciono?

La verdad es que soy totalmente nuevo e inexperto e ignorante en esto de la programación de macros, y no tengo mucha idea. De hecho esto es lo primero que programo!

Bueno, gracias de nuevo y espero comentarios!

Abrazo,

Eugenio
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
eugeniogurrea
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Dic 2011 14:32

Re: Macro para salvar archivo Excel

Notapor FernandoML » 22 Dic 2011 13:48

Es raro que te de ese fallo, seguramente sea por la versión de excel

Cual tenias? 2003 o 2007?

Prueba esto de todas formas haber si te funciona.

Entra en la macro y busca el formulario.

1.- Pulsa el Menu Herramientas.
2.- Pulsa en controles adicionales.
3.- Busca y marca uno que pone Control Calendar 8.0
En el caso que no se encuentre esta versión borra el calendario del formulario y cambialo por el que has insertado tu en los componentes.

Suerte y un Saludo.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
FernandoML
Miembro Frecuente
Miembro Frecuente
 
Registrado: 20 Abr 2011 18:48

Re: Macro para salvar archivo Excel

Notapor eugeniogurrea » 22 Dic 2011 15:33

Es Excel 2010.

Reemplacé ese calendario por el DTPicker...pero tampoco logro que la celda me muestre el valor elegido e el calendario.

De hecho cuando hago click en la celda me abre el calendario para elegir, y la ventana de ese User Form no se cierra salvo que le de a la cruz, pero la celda no toma el valor.

También el depurador, al intentar salvar la macro, me marca como si hubiera un error en la línea de comando de los mensajes de que es obligatorio poner una fehca y turno para salvar (remarca "msg =").

Que puede ser?

Gracias!
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
eugeniogurrea
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Dic 2011 14:32

Re: Macro para salvar archivo Excel

Notapor eugeniogurrea » 23 Dic 2011 15:30

y necesito que el formato en que quede la fecha en la celda sea aaaa-mm-dd, para que ordenandolo "alfabeticamente" me queden los archivos en orden cronológico...
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
eugeniogurrea
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Dic 2011 14:32

Re: Macro para salvar archivo Excel

Notapor FernandoML » 31 Dic 2011 09:43

Hola otra vez eugeniogurrea:

Perdona que no te haya contestado antes pero he estado de viaje.

Comprueba ahora el calendario haber si te sale bien.

He cambiado el control DTPicker por otro que se llama "Microsoft MonthView 6.0 (SP4)" comprueba que tienes este control y no tendras problemas es practicamente el DTPicker.

Te he copiado el archivo ocx del control. En el caso que no funcione ejecuta Install OCX.bat

Lo he limitado al año actual, es decir no puedes cambiar de año en el calendario solamente el año en curso.

En el Formulario frmCalendario si le das a ver el codigo, veras lo siguiente

Private Sub UserForm_Activate()
Calendar1.MinDate = "1/1/" & Year(Now)
Calendar1.MaxDate = "31/12/" & Year(Now)
End Sub

Year(now) es el año actual.

Espero que ahora te funcione correctamente. Si no tendremos que buscar otra solucion.

Un saludo y hasta pronto.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
FernandoML
Miembro Frecuente
Miembro Frecuente
 
Registrado: 20 Abr 2011 18:48

Re: Macro para salvar archivo Excel

Notapor FernandoML » 31 Dic 2011 09:45

Perdon me faltaba el archivo jajajajaa
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
FernandoML
Miembro Frecuente
Miembro Frecuente
 
Registrado: 20 Abr 2011 18:48

Re: Macro para salvar archivo Excel

Notapor eugeniogurrea » 17 Abr 2012 11:57

Fernando:

Muchas gracias por tu aporte.

Ahora me muestra bien el calendario, pero tengo el siguiente problema:

Al queres Guardar, me slae una pantalla de error del compilador, que la adjunto.

Veamos si puedes darme una mano.

Abrazo y gracias!
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
eugeniogurrea
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Dic 2011 14:32

Re: Macro para salvar archivo Excel

Notapor eugeniogurrea » 17 Abr 2012 16:40

el tema del mensaje ya está solucionado, el gran problema que tengo es que este archivo estará en un servidor, accesible para varios usuarios desde sus terminales, lo que podrán hacer distintos partes diarios para cada sector y turno de trabajo.

El problema (solucionable) es que en la PC de cada uno de los operarios, no está el calendario usado en este Excel...y la verdad es que ni yo puedo ir a instalarlo en cada PC, ni puedo pedirle al operario que lo haga...

¿Se les ocurre algo?

Les adjunto la versión final al momento...

Saludos y gracias.

Espero su ayuda!

Eugenio
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
eugeniogurrea
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Dic 2011 14:32


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 4 invitados