Immer noch: ESC-Taste kurzzeitig deaktivieren - bitte um Hilfe

Hallo Community,

sorry, ich weiß, ich habe diese Frage vor 2-3 Tagen schon mal gestellt. Einige User sind sich darüber gegenseitig sogar ein wenig in die Wolle geraten, ohne mein Dazutun. Das wollte ich nicht und habe ich auch nicht erwartet.

Ich habe aber ausführlich dargestellt, warum und worum es mir ging: Ich möchte, dass während des Ablaufs eines Makros, das die Anwender selbst nach Bedarf starten sollen, die ESC-Taste gesperrt wird.

Also, bitte: Wenn jemand eine Lösung weiß, wie ich die ESC-Taste zu Beginn des Makros erst deaktivieren und dann wieder aktivieren kann, dann wäre ich immer noch für Rat und Hilfe dankbar. Vielleicht wird ja noch etwas daraus …

Freundlichen Grußweidag

Hallo Grußweidag,

Dieser Link fügt in deinen Code eine richtig lange Schleife ein wenn die Esc-Taste gedrückt wird. Viellicht hilft’s.

Mit freundlichen Grüßen

/Reinhard

In dem Artikel hatte jemand einen Vorschlag und du meintest nur „geht nicht“. Das ist nicht ausführlich.

Und ich habe sehr (!) ausführlich nach einem Minimalbeispiel gefragt. Das hast du nicht geliefert, wie sollen wir da helfen?

Also bei mir funktioniert Application.EnableCancelKey = xlDisabled.
Hast du’s mal mit einem einfachen Beispiel probiert?

Sub test()
  Application.EnableCancelKey = xlDisabled
  For x = 1 To 1000000
    Cells(x, 1).Value = x
  Next
  Application.EnableCancelKey = xlEnabled
End Sub

Alternativvorschlag: Setze in irgendeine Zelle einen Merker, der dir anzeigt, ob das Makro bis zum Ende durchgelaufen ist.
Diesen Merker kannst du z.B. bei jeder Eingabe (Worksheet.Change) abfragen. Steht er auf „nicht komplett gelöscht“, unterbindest du weitere Eingaben oder gibst eine Meldung aus…

Gruß & viel Erfolg,

Kannitverstan…

… warum Flowerwoman immer gleich so gereizt ist… :wink:
[1]: https://stackoverflow.com/questions/6033953/why-does-vba-stop-if-enablecancelkey-is-not-disabled?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

zeigt einfach nur ein Beispiel wie meines. „Wenn die Esc-Taste gedrückt wird“, passiert bestenfalls gar nix, weil eben der Cancel-Key disabled ist :wink:
Oder aber das Marko wird unterbrochen, falls „EnableCancelKey“ nicht funktioniert…

Gruß,

Kannitverstan

weil Flowerwoman zweimal nach genau dem gefragt hat, was du auch fragst:

Ein verdammt nochmal einfaches Beispiel. Da muss auch keiner ein Mimimi-Doppelposting aufmachen. Beispiel gegen Hilfe, so einfach ist das.

Vielen Dank! Das war’s:

Application.EnableCancelKey = xlDisabled
… und am Makro-Ende ergänzt um
Application.EnableCancelKey = xlEnabled

willst du uns jetzt alle veralbern? Genau das war der erste Lösungsansatz in dem anderen Baum. Byte für Byte.

Aber da wurde dir ja nicht geholfen, stimmts?

2 Like

Ach weisste Frau Blume…

Genau sowas ist ein Grund warum ich hier gar nicht mehr so oft versuche zu helfen…

hab ich abgehakt… aber nett von Dir dass Du den Fragesteller darauf aufmerksam gemacht hast.

Gruß
Fronk