Si, usando Application.ontime, pero tiene que estar abierto el archivo. Si quieres activar un archivo de excel, cerrado, a cierta hora, pues usa las "tareas progrmadas" del windows, para que active tu archivo a cierta hora, y colocale una macro auto_open, que haga lo que desees
Humm, ya que pediste una macro, supuse que sabias, al menos algo basico de VBA. APplication.ontime, es una instruccion de VBA, que activa una macro a una eerminada hora o despues de un determinado tiempo, para mas informacion usa el AYUDA del editor de VBa del excel.
Auto_open, es el nombre que le colocamos a una macro para que se autoactive apenas se abre el archivo de excel.
Utilice Now + TimeValue(periodo) para planear la ejecución de un procedimiento cuando haya transcurrido un período de tiempo determinado (comenzando a contar a partir de ahora). Utilice TimeValue(hora) para planear la ejecución de un procedimiento a una hora específica.
Ejemplo
En este ejemplo se ejecutará my_Procedure en 15 segundos a partir de este momento.
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
En este ejemplo se ejecutará my_Procedure a las 5 p.m.