Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1400to1404
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Msgbox schließt nicht, Excel hängt sich auf

Msgbox schließt nicht, Excel hängt sich auf
13.01.2015 15:21:07
Cooper
Hi Leute,
ich habe ein Problem und ich hoffe ihr könnt mir weiterhelfen:
Ich erstelle gerade ein sehr umfangreiches Excel-Workbook und benötige dazu ab und an mal ein paar VBA-Codes um für diverse Eingaben Fehlermeldungen ausgeben lassen zu können, etc.
Gerade hänge ich an folgendem Problem:
Ich habe ein Msgbox erstellt mit Ja/Nein Antworten. Die msgbox soll erscheinen, sobald eine Eingabe hier in der Zelle "E.Breite" erfolgt ist und dabei dann eine gewisse Bedingung nicht erfüllt wurde. wenn die msgbox mit "Ja" bestätigt wurde, dann soll ein gewisser Wert in die Zelle "SE.bef" auf einem anderen Worksheet eingefügt werden. Wird mit "Nein" bestätigt, dann soll die Zelle "SE.Nachweisformat" ebenfalls auf einem anderen Worksheet mit einem gewissen Wert belegt werden. Beide einzutragenden Werte sind nicht fix, sondern abhängig von anderen Eingaben, sodass ich hier eine Formel eingegeben habe.
Das ganze funktioniert auch soweit alles ganz gut, außer, dass sich die msgbox nicht mehr schließen lässt und man leider kanppe 200 mal auf einen Bestätigungsbutton klicken muss. Das ist allerding snicht Sinn der Sache.
Ich denke, dass ich da irgendwie mit der Funktion "blnFound" ran muss, aber ich krieg das leider nicht zusammen. Meine VBA-Kenntnisse sind noch sehr bescheiden.
Hier mal mein Code, eingegeben im Workbook als SheetChange:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Worksheets("Eingabe").Range("E.Breite") * 2 > Worksheets("Eingabe").Range("E.Länge")  _
Then
If MsgBox("text", vbYesNo) = vbYes Then
Worksheets("Steuerung_Eingabe").Range("SE.bef") = 0.5 * Worksheets("Eingabe").Range( _
"E.Länge")
Else
Worksheets("Steuerung_Eingabe").Range("SE.Nachweisformat") = 2
End If
End If
End Sub
Ich hoffe ihr könnt mir helfen.
Vielen Dank schonmal.
Gruß Cooper

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Endlosschleife
13.01.2015 16:30:49
Klaus
Hallo Cooper,
innerhalb des SheetChange verursachst du eine Änderung im Sheet. Das ruft SheetChange auf, das verursacht eine Veränderung im Sheet. Das ruft SheetChange auf ... und das Murmeltier lässt grüßen.
Lösung:
Schalte die "Events" ab, während das Makro läuft.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error GoTo hell
Application.EnableEvents = False
If Worksheets("Eingabe").Range("E.Breite") * 2 > Worksheets("Eingabe").Range("E.Länge") _
Then
If MsgBox("text", vbYesNo) = vbYes Then
Worksheets("Steuerung_Eingabe").Range("SE.bef") = 0.5 * Worksheets("Eingabe").Range( _
_
"E.Länge")
Else
Worksheets("Steuerung_Eingabe").Range("SE.Nachweisformat") = 2
End If
End If
GoTo heaven:
hell:
MsgBox ("Makro mit Fehler beendet!")
heaven:
Application.EnableEvents = True
End Sub
Die OnError-Sprungmarke ist theoretisch nicht nötig. Aber in Makros mit EnableEvents = False gewöhnt man sich die besser an - sonst bleiben die Events abgeschaltet, wenn das Makro mal versagt. Und dann wird Excel so richtig zickig :-)
Grüße,
Klaus M.vdT.

Anzeige
AW: Endlosschleife
13.01.2015 16:49:31
Cooper
Danke für die Antwort, aber "dat tutet nit", wie der Rheinländer sagen würde...
Leider tritt das gleiche Problem weiterhin auf. Hab ich was falsch gemacht?

Musterdatei?
14.01.2015 08:20:36
Klaus
Hab ich was falsch gemacht?
Ja, du hast in Zeile 6 eine Variable falsch definiert.
Hilft dir die Glaskugel-Antwort oder lädst du eine Musterdatei hoch?
Grüße,
Klaus M.vdT.

AW: Msgbox schließt nicht, Excel hängt sich auf
13.01.2015 18:38:06
Oberschlumpf
Hi ?
Am schönsten wäre es, wenn du uns per Upload eine Datei inklusive Code zeigst, anstatt, dass du uns nur den Code zeigst.
Ciao
Thorsten

112 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige