Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: "Wechsel in den Haltemodus zu diesem Zeitpunkt unm

"Wechsel in den Haltemodus zu diesem Zeitpunkt unm
06.01.2009 12:51:00
eres
Zunächst mal einen herzlichen Gruß in mein Lieblings-Forum.
Nach mehreren Stunden Suche bringt mich die Fehlermeldung:
"Wechsel in den Haltemodus zu diesem Zeitpunkt nicht möglich"
langsam aber sicher zum Wahnsinn.
Die beigefügte Datei hat zwei Blätter. Nur im Codeteil von Tabelle2 befinden sich ein paar Zeilen Code.
https://www.herber.de/bbs/user/58112.xls
Auf Tabelle2 ist mein Problem kurz beschrieben. Anstelle am Haltepunkt wie von mir gewünscht mit dem Debugger arbeiten zu können, erhalte ich regelmässig obige Message und kann den Debugger nicht nutzen.
Kann mir jemand helfen zu verstehen, was hier passiert?
p.s. Ich habe die Datei sowohl auf der Arbeit als auch zu Hause ausprobiert, immer mit dem gleichen Effekt. Ich hoffe nun, dass der Effekt zumindest von Euch nachvollzogen werden kann.
Herzlichen Dank für jede Hilfe im voraus.
Gruß
erwin
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Wechsel in den Haltemodus zu diesem Zeitpunkt unm
06.01.2009 13:15:36
D.Saster
Hallo,
nimm dem Button die Eigenschaft TakeFocusOnClick weg.
Gruß
Dierk
AW: "Wechsel in den Haltemodus zu diesem Zeitpunkt unm
06.01.2009 13:23:35
eres
Hallo Dierk,
habe die Datei über den Link in meinem Thread aufgerufen, die TakeFocusOnClick Eigenschaft des Buttons auf False gesetzt und bekomme nach wie vor die Fehlermeldung "Wechsel in den ..."
Gibt es noch andere Ansätze ?
Gruß
erwin
Anzeige
AW: "Wechsel in den Haltemodus zu diesem Zeitpunkt
06.01.2009 13:38:48
Matthias
Hallo
Du hast in Deiner Datei übrigens 2x DisplayAlerts auf False !
schreibe es mal in ein Modul:

Option Explicit
Sub test()
Dim i As Long
Application.DisplayAlerts = False
Worksheets("Tabelle1").Delete
Application.DisplayAlerts = True
i = i + 1
End Sub


und so rufst du dann das Makro auf


Private Sub CommandButton1_Click()
test
End Sub


probier mal.
Gruß Matthias

Anzeige
AW: "Wechsel in den Haltemodus zu diesem Zeitpunkt
06.01.2009 13:56:00
eres
Hallo Matthias,
habs probiert und hatte wieder keinen Erfolg ...
Ich habe die hochgeladene Datei verwendet, den Code in ein allgemeines Modul gepackt und den Haltepunkt wieder auf i = i +1 gesetzt. Wieder kommt "Wechsel in den ..."
Das 2mal Display False habe ich natürlich auch korrigiert (Danke)
Hat noch jemand Ideen für einen frustierten VBA-Freund ?
Gruß
erwin
Anzeige
AW: "Wechsel in den Haltemodus zu diesem Zeitpunkt
06.01.2009 14:01:31
Oberschlumpf
Hi Erwin
Nachdem ich das 2. Display = False auf True gesetzt hatte, ist ein Debugging an gewünschter Stelle möglich.

Private Sub CommandButton1_Click()
Dim i As Long
Application.DisplayAlerts = False
Worksheets("Tabelle1").Delete
Application.DisplayAlerts = True
i = i + 1
End Sub


Klappts nun auch bei dir?
Ciao
Thorsten

Anzeige
AW: "Wechsel in den Haltemodus zu diesem Zeitpunkt
06.01.2009 14:02:00
Daniel
Hi
das wird wohl irgend ein Bug in deiner Datei sein.
am Code liegts nicht, wenn ich diesen in eine neue Datei kopiere, funktioniert es einwandfrei.
ebenso, wenn dein Code in der Original-Datei auf einen Fehler gelaufen ist (z.B. weil man ein 2. Mal auf den Button klickt, ohne eine neue Tabelle1 einzufügen), dann funktioniert das mit dem Haltepunkt auch wieder.
Gruß, Daniel
Anzeige
AW: "Wechsel in den Haltemodus zu diesem Zeitpunkt
06.01.2009 14:12:25
eres
Hallo Daniel,
vermutlich hast Du Recht. Eigentlich hatte ich versucht dies auszuschließen, da ich die hochgeladene Testdatei komplett neu erstellt hatte, allerdingsdie zu löschende Tabelle1 von der Originaldatei kopiert hatte. In genau dem Sheet muß wohl im Hintergrund ein Bug sein.
Ich baue meine Originaldatei noch mal komplett neu auf.
Vielen Dank an alle für die "Tests".
Gruß
erwin
Anzeige
AW: "Wechsel in den Haltemodus zu diesem Zeitpunkt
06.01.2009 13:59:00
Hajo_Zi
Hallo Matthias,
ist die Zeile I=I+1 nicht sinnlos. Die Variable ist nur in dem Makro definiert und wird mit jedem Start af 0 gesetzt?

AW: "Wechsel in den Haltemodus zu diesem Zeitpunkt
06.01.2009 14:02:00
eres
Ja Hajo, Du hast Recht. In dieser Datei ist die Zeile sinnlos.
Ich habe die Datei aber aus meiner Originaldatei so abgespeckt, dass der Effekt noch erhalten bleibt. Du kannst i = i +1 auch durch eine MsgBox ersetzen und den Haltepunkt dorthin setzen. Auch dann kommt die Meldung 'Wechsel ...'
Dennoch danke, dass Du mal reingeschaut hast.
Gruß
erwin
Anzeige
AW: "Wechsel in den Haltemodus zu diesem Zeitpunkt
06.01.2009 14:05:00
Oberschlumpf
Hi HaJo
Ich finde, es ist in diesem Fall unerheblich, welche Ergebnisse welche Programmzeilen erzielen oder nicht erzielen.
Wir kennen doch nicht den Original-Code.
So kann es doch also auch sein, dass es sich hier nur um einen Bsp-Code handelt, der zwar für sich alleine keinen Sinn ergibt, aber trotzdem sehr gut das von Erwin zuvor beschriebene Problem reproduzier macht.
Und so erhält auch ein sinnfreier Code wieder Sinn ;-)
Ciao
Thorsten
Anzeige
...weil EventMakro, aber so gehts...
06.01.2009 14:09:20
RS

Private Sub CommandButton1_Click()
Dim i As Long
Application.EnableEvents = False
Application.DisplayAlerts = False
Worksheets("Tabelle1").Delete
Application.DisplayAlerts = True
Application.EnableEvents = True
i = i + 1
End Sub


Grüsse RS

Anzeige
AW: ...weil EventMakro, aber so gehts...
06.01.2009 14:16:55
eres
Hallo RS, leider funktioniert es auch mit Deiner Variante nicht.
Habe es wieder mit der hochgeladenen Datei ausprobiert.
Daniel hat wohl die Lösung; es muß ein Bug in der Datei sein.
Trotzdem danke und Gruß
erwin

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Wechsel in den Haltemodus zu diesem Zeitpunkt


Schritt-für-Schritt-Anleitung

Um den Excel Haltemodus zu beenden und das Debugging zu ermöglichen, folge diesen Schritten:

  1. Öffne die betreffende Excel-Datei.
  2. Gehe zu dem Modul, in dem der Code gespeichert ist.
  3. Überprüfe den Button, der den Code auslöst:
    • Stelle sicher, dass die Eigenschaft TakeFocusOnClick auf False gesetzt ist.
    • Beispiel:
      Private Sub CommandButton1_Click()
       ' Dein Code hier
      End Sub
  4. Überprüfe die Verwendung von DisplayAlerts:
    • Achte darauf, dass Application.DisplayAlerts nur einmal auf False gesetzt wird, und danach wieder auf True.
    • Beispiel:
      Application.DisplayAlerts = False
      ' Code der Warnungen auslösen könnte
      Application.DisplayAlerts = True
  5. Setze einen Haltepunkt an geeigneter Stelle im Code, z.B. nach der Zuweisung von Variablen.

Häufige Fehler und Lösungen

  • Fehler: "Wechsel in den Haltemodus zu diesem Zeitpunkt nicht möglich."

    • Lösung: Überprüfe, ob DisplayAlerts mehrfach auf False gesetzt wurde. Korrigiere dies, indem du sicherstellst, dass es nur einmal gesetzt wird.
  • Fehler: Die Variable wird bei jedem Start auf 0 gesetzt.

    • Lösung: Stelle sicher, dass die Variable nicht nur innerhalb des aktuellen Makros definiert ist, wenn sie über mehrere Aufrufe hinweg Werte behalten soll.

Alternative Methoden

Wenn das Problem weiterhin besteht, kannst du versuchen, den Code in eine neue Excel-Datei zu kopieren. Oftmals gibt es in der ursprünglichen Datei Bugs, die durch einen frischen Start vermieden werden können.

  1. Öffne eine neue Excel-Datei.
  2. Kopiere den Code in ein neues Modul.
  3. Teste den Code erneut.

Praktische Beispiele

Hier sind einige Beispiele, die dir helfen können, den Excel VBA Haltemodus zu beenden:

Private Sub CommandButton1_Click()
    Dim i As Long
    Application.DisplayAlerts = False
    Worksheets("Tabelle1").Delete
    Application.DisplayAlerts = True
    i = i + 1  ' Haltepunkt hier setzen
End Sub

Wenn du den Haltepunkt auf die Zeile i = i + 1 setzt, sollte der Debugger jetzt ordnungsgemäß funktionieren, sofern alle anderen Punkte beachtet wurden.


Tipps für Profis

  • Nutze Application.EnableEvents = False bevor du Änderungen vornimmst, um unerwünschte Ereignisse zu verhindern.
  • Achte auf die Reihenfolge der Anweisungen: Manchmal kann die Reihenfolge der Anweisungen im VBA-Code entscheidend sein, um den Haltemodus erfolgreich zu beenden.
  • Teste den Code Schritt für Schritt. Manchmal hilft es, den Code in kleineren Abschnitten zu testen, um festzustellen, wo der Fehler auftritt.

FAQ: Häufige Fragen

1. Warum bekomme ich die Fehlermeldung, obwohl ich alles richtig gemacht habe? Manchmal kann ein Bug in der Excel-Datei selbst die Ursache sein. Es ist ratsam, den Code in eine neue Datei zu kopieren und dort zu testen.

2. Was ist die Bedeutung von DisplayAlerts in meinem Code? DisplayAlerts steuert, ob Excel Warnmeldungen anzeigt. Wenn es auf False gesetzt ist, werden diese Warnungen unterdrückt, was in vielen Fällen für automatisierte Prozesse nützlich sein kann.

3. Wie kann ich sicherstellen, dass mein Code fehlerfrei läuft? Achte darauf, dass alle Variablen korrekt deklariert sind und dass keine mehrfachen DisplayAlerts-Anweisungen verwendet werden, um unerwartete Fehler zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige