Ejecutar en excel macro automáticamente VBA

Tengo una macro que ya programé y funciona bien, básicamente me envía un correo con cierta información. Lo que necesito es que esa macro se ejecute de lunes a vieres a las 8 am, preferiblemente con el libro cerrado.

1 respuesta

Respuesta

Esta macro hace que se ejecute todos los dias, es lo unico que he encontrado no se si te servira

"Pega esto en ThisWorkbook"

Private Sub Workbook_Open(): On Error Resume Next
Application.StatusBar = "Proceso desactivado. Control+a para activarlo."
If ActiveWorkbook.Names("ACTIVADA") = "=1" Then
   If Date = CDate(ActiveWorkbook.Names("ACTIVADA").Comment) Then
      Call Proceso
      Call Activar
      Exit Sub
   Else
   Application.StatusBar = "Proceso activado para el día " & _
               ActiveWorkbook.Names("ACTIVADA").Comment & ". Control+d para desactivarlo."
   End If
End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.StatusBar = False
End Sub

=============================================================================

"Pega esto en un modulo"

Sub Activar(): On Error Resume Next
ActiveWorkbook.Names("ACTIVADA").Delete
ActiveWorkbook.Names.Add Name:="ACTIVADA", RefersToR1C1:="=1"
ActiveWorkbook.Names("ACTIVADA").Comment = Date + 1 'Días
Application.StatusBar = "Proceso activado para el día " & _
            ActiveWorkbook.Names("ACTIVADA").Comment & ". Control+d para desactivarlo."
End Sub

Sub Desactivar(): On Error Resume Next
ActiveWorkbook.Names("ACTIVADA").Delete
ActiveWorkbook.Names.Add Name:="ACTIVADA", RefersToR1C1:="=0"
ActiveWorkbook.Names("ACTIVADA").Comment = ""
Application.StatusBar = "Proceso desactivado. Control+a para activarlo."
End Sub

Sub Proceso()
'Tu macro a ejecutar cada día
End Sub

============================================================================

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas