Alle 30 Min. Makro starten

Hallo an alle Wissenden.

Ich benötige eine Möglichkeit, das mir alle 30 Minuten ein Userform Makro ausgeführt wird.

Ich habe eine Möglichkeit schon im Netz gefunden, die währe:

t = True
zeit = Time + TimeSerial(0, 0, 20) 'Zeitangabe, wann das Makro gestartet werden soll (Stunden, Minuten, Sekunden)
Application.OnTime zeit, „MeinMakro“

Es wird das Makro „MeinMakro“ gestartet.
Soweit so gut.
Nur funktioniert dies leider nur bei Modulen.

Ich benötige es aber für UserForm Makros.
Wenn ich jetzt aber eingebe, das er mir zb. das MAkro:
CommandButton4_Click
öffnen soll, bekomme ich, sobald die 30 Minuten um sind, die Fehlermeldung, das er das Makro nicht findent.

Was gehört hierfür geändert, das dies auch mit Userform Makros funktioniert?

Ich danke euch.

Mfg Anton

Hi,

direkt scheint es ja offensichtlich nicht zu gehen.

Also?

in ein Modul:

Sub ButtonAufruf()
 UserForm1.CommandButton1\_Click
End Sub

in der Form:

**PUBLIC** Sub CommandButton1\_Click()
 MsgBox ("works")
End Sub

und dann folgerichtig:

Application.OnTime zeit, "ButtonAufruf"

LG Alex

Hallo Alexander.

Danke, das könnte so funktionieren (Versuche es gleich morgen)

Danke nochmal

Mfg Anton

Hallo.

Noch eine Frage.
Wieso funktioniert dies nicht mit Private Sub?
Kann man das auch mit Private Sub bewerkstelligen?

Danke.

Hallo Anton,

Wieso funktioniert dies nicht mit Private Sub?
Kann man das auch mit Private Sub bewerkstelligen?

gelegentlch lohnt sich F1 :smile:

Public
Optional. Auf die Sub-Prozedur kann von allen anderen Prozeduren in
allen Modulen zugegriffen werden. Bei Verwendung in einem Modul (mit
einer Option Private-Anweisung) kann auf die Prozedur nur innerhalb
des Projekts zugegriffen werden.

Private
Optional. Auf die Sub-Prozedur kann nur durch andere Prozeduren aus
dem Modul zugegriffen werden, in dem sie deklariert wurde.

Gruß
Reinhard