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 
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