H o l a:
En VBA el código sería así:
En los eventos de ThisWorkbook:
Private Sub Workbook_Open()
'Por.Dam
VerificarHora
End Sub
Significa que cuando abres el libro se ejecuta la macro VeriricarHora.
Ahora en un módulo:
Sub VerificarHora()
'Por.Dante Amor
If Hoja3.[A1] <> Day(Date) Then
Hoja3.[A1] = ""
Hoja3.[B1] = ""
End If
If Day(Date) = 1 Then
If Hoja3.[B1] = "" Then
If Time >= TimeSerial(12, 0, 0) Then
Hoja3.[A1] = Day(Date)
Hoja3.[B1] = "x"
macro1
End If
End If
End If
Application.OnTime Now + TimeValue("00:01:00"), "VerificarHora"
End Sub
La macro VeriricarHora, se ejecutaría cada minuto, todo el día, todos los días, mientras el libro esté abierto y mientras la macro no sea detenida.
Entonces cada minuto revisará el día y la hora, si es día 1 y la hora es igual a las 12 del medio día, se ejecuta la macro1.
Como el tiempo no es exacto a las 12:00, ya que la macro se está ejecutando cada minuto, puede ser que revise la hora a las 11:59:30 y la siguiente revisión será a las 12:00:30, entonces ya no son las 12:00:00 en punto, por lo que la condición sería si es mayor o igual a 12:00:00. Es por eso que en Hoja3, se guarda el día y un indicador de que la macro ya se ejecutó, es para que no se ejecute varias veces el mismo día.
Cuando el día cambie, entonces volverán los indicadores a "" y si es día 1, entonces se ejecutará nuevamente la macro, solamente una vez en el día.
Todo lo anterior es el código y el modo del funcionamiento. Pero no es nada recomendable tener una macro en ejecución todo el tiempo (latente), ejecutándose cada minuto, o cada segundo, eso provocará que los cálculos en tu libro sean más lentos.
Para eso te recomiendo que programes una tarea en windows.
Inicio / Todos los programas / Accesorios / Herramientas / Tareas programadas

En la siguiente ventana presiona doble click sobre Agregar tarea programada:

En la siguiente ventana, selecciona la aplicación de Microsoft Excel, Presiona el botón Examinar, selecciona el archivo que contiene la macro que quieres ejecutar (la macro deberá estar en el evento open del libro). Siguiente
Selecciona el periodo: Mensualmente. Siguiente
Hora de inicio: 12:00:00. Siguiente
Día 1. Siguiente
Pon tu usuario y un password. Siguiente
Finalizar.
La macro que se ejecute al abrir el libro, al terminar, deberá cerrar el libro.
S a l u d o s