Excel - MACRO PARA GUARDAR

   
Vista:

MACRO PARA GUARDAR

Publicado por daniel (1 intervención) el 06/04/2017 19:06:48
Buenas amigos, soy nuevo con las macros y tengo dudas acerca de una macro para guardar, tengo una plantilla la cual manejan dos supervisores y cada supervisor llena datos diferentes y dependiendo de esos datos quiero que cambie el nombre final del archivo, el proceso es asi:

1. supervisor 1 abre la plantilla:
2. llena los datos
3. (quiero un botón que haga la funcion de Guardar Como para no modificar la plantilla y que coloque como nombre del documento el contenido de la celda A9)
4. supervisor 2 abre el documento guardado
5. llena los datos y la celda A9 cambia automaticamente
6. (quiero un boton que guarde y renombre el documento original)

Agradeceria mucho su ayuda y gracias de antemano amigos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana

MACRO PARA GUARDAR

Publicado por Antoni Masana amasana@hotmail.com (826 intervenciones) el 07/04/2017 08:10:38
Hola Daniel,

Te incluyo la ayuda de MicroSoft del evento Workbook.BeforeSave. Este se ejecuta antes de salvar el libro, en el puedes tomar el contenido de la celda A9, verificar si hay datos, si son correctos y guardar, también puedes saber si es la primera vez (antes plantilla ahora documento) o renombra el fichero.

El usuario no tiene que pulsar botones, solo abre la plantilla, introduce datos, guarda normal, como cualquier otro libro Excel y la Macro lo controla todo.

Visto así está muy bien, muy chulito, pero ¿Como se hace? esto es apartado para otro post.

Si tienes problemas o dificultad para hacerlo, enviame la plantilla y te hago la Macro.

Saludos.
\\//_


Evento Workbook.BeforeSave (Excel)

Se produce antes de que el libro se guarde.

Sintaxis
expresión.BeforeSave(SaveAsUI, Cancel)

expresión Variable que representa un objeto Workbook.

Parámetros

1
2
3
4
5
6
7
8
Nombre       Necesario/Opcional    Tipo de datos   Descripción 
 
SaveAsUI     Obligatorio            Boolean        True si se mostrará el cuadro de diálogo Guardar como tras
                                                   hacerse cambios que se deban guardar en el libro.
 
Cancel       Obligatorio            Boolean        False al producirse el evento. Si el procedimiento de evento
                                                   establece el valor de argumento en True, el libro no se
                                                   guardará al terminar el procedimiento.

Valor devuelto
Nothing

Ejemplo: En este ejemplo se pide confirmación al usuario antes de guardar el libro.

VBA
1
2
3
4
5
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
        Cancel as Boolean)
    a = MsgBox("Do you really want to save the workbook?", vbYesNo)
    If a = vbNo Then Cancel = True
End Sub

Código de ejemplo proporcionado por: Holy Macro! Books, Holy Macro! 2.500 ejemplos de VBA para Excel
En este ejemplo, se usa el evento BeforeSave para comprobar que determinadas celdas contienen datos antes de que se pueda guardar el libro. El libro no se puede guardar hasta que haya datos en las celdas siguientes: D5, D7, D9, D11, D13 y D15.

VBA
1
2
3
4
5
6
7
8
9
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   'If the six specified cells do not contain data, then display a message box with an error
   'and cancel the attempt to save.
   If WorksheetFunction.CountA(Worksheets("Sheet1").Range("D5,D7,D9,D11,D13, D15")) < 6 Then
      MsgBox "Workbook will not be saved unless" & vbCrLf & _
      "All required fields have been filled in!"
      Cancel = True
   End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gabriel Gonzalez

MACRO PARA GUARDAR

Publicado por Gabriel Gonzalez gagm1963@gmail.com (1 intervención) el 29/03/2018 16:42:51
buenos días.

Tengo un problema parecido:

Estoy creando un libro por primera vez y necesito:

Que pregunte el <<Nombre>> que quiero asignar a la etiqueta de una hoja, poderla seleccionar de una lista y que la cambie por el seleccionado.

Que pregunte el <<Nombre>> que quiero asignar al libro, poderlo seleccionar de una lista y que lo grabe con extensión xlsm.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad