die u.a. Antwort von Tino funtioniert, wenn ich sie nachbaue. Wenn ich sie aber in mein Modul einbaue geht es nicht.
Ich verwende eine Auto_Open wie folgt:
Sub Auto_Open()
manueller_Ablauf = "nein"
Application.OnKey "%m", "Man_ablauf_setzen"
Application.OnTime Now + TimeSerial(0, 1, 0), "TasteZuruecksetzen"
' If manueller_Ablauf = "nein" Then
' Ablauf_Start
' End If
End Sub
Falls ich Alt+m drücke wird in "Man_ablauf_setzen" u.a die Variable manueller_Ablauf auf "ja" gesetzt.
Das funktioniert auch, sobald ich jedoch den Sub "Ablauf_Start" mit reinnehme (hier auskommentiert)
Wird das ONKEY ignoriert und gleich "Ablauf_Start" gestartet.
Was mache ich falsch.
Viele Grüße
Bernd
===== Ab hier die Antwort von Tino ========= weiter unten meine Anfrage ==========
Hallo,
vielleicht so.
OnKey und OnTime ist in der Hilfe beschrieben.
kommt als Code in DieseArbeitsmappe
Option Explicit
Private Sub Workbook_Open()
Application.OnKey "^m", "MeinMakro"
'OnKey nach einer Minute zurücksetzen
Application.OnTime Now + TimeSerial(0, 1, 0), "TasteZuruecksetzen"
End Sub
Modul Modul1
Option Explicit
Sub MeinMakro()
Call TasteZuruecksetzen 'OnKey zurücksetzen
MsgBox "ich mache was"
End Sub
Sub TasteZuruecksetzen()
Application.OnKey "^m"
End Sub
Gruß Tino
========= Hier meine Anfrage ========
Bezieht sich auf diese Nachricht:
Hallo liebe Excelisten,
ich habe leider im Archiv nichts finden können.
Ich habe ein Makro, welches automatisch nach Öffnen der Excel-Datei startet. Das läuft auch ganz gut.
Jetzt möchte ich eine Warteschleife von einer Minuten einbauen und in dieser Zeit soll auf einen Tastendruck gewartet werden z.B. ALT+m.
Nach diesem Tastendruck soll dann irgendetwas ablaufen.
Hat da jemand eine Idee?
Viele Grüße
Bernd G.