Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1320to1324
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

Msg Box erscheint mehrmals

Msg Box erscheint mehrmals
13.07.2013 12:56:22
Uli
Hallo zusammen :)
ich hatte eine Frage bzgl. dem folgenden Code. Leider konnte ich bisher keine hilfreichen Informationen im Internet finden, deswegen wende ich mich an euch.
Im Folgenden Code soll über eine Textbox die Laufzeit einer Anleihe eingegeben werden. Das Problem ist, dass die MsgBox zweimal erscheint, da das Ereignis bei Zurücksetzen der Textbox noch einmal ausgelöst wird.
Gibt es eine Möglichkeit, dass die MsgBox nur einmal erscheint und das Ergebnis nur über die Eingabe eines neuen Wertes ausgelöst wird (der Exit Sub Command hat bei mir leider nicht funktioniert)?

Private Sub InLaufzeit_Change()
With InLaufzeit
If .Value  50 Then
MsgBox "nur positive Laufzeiten bis 50 Jahre": .Value = ""
End If
End With
End Sub

Über eure Hilfe würde ich mich freuen - schon mal vielen Dank im Voraus!
VG
Uli

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Msg Box erscheint mehrmals
13.07.2013 12:58:57
Hajo_Zi
Hallo Uli,
benutze Afterupdate

AW: Msg Box erscheint mehrmals
13.07.2013 13:17:12
Uli
Hallo Hajo,
danke für deine Rückmeldung. Jedoch kenne ich mich mit VBA nicht allzu gut aus und dieser Command war mir unbekannt.
Könntest du mir eventuell genauer erläutern wo dieser Command im Code zu stehen hat? Mir ist leider nicht klar, wie afterupdate den erneuten Durchlauf des IfCommands bzw. die Auslöse des Ereignisses unterbinden soll.
Private Sub InLaufzeit_Change()
With InLaufzeit
If .Value  50 Then
MsgBox "nur positive Laufzeiten bis 50 Jahre": .Value = ""
End If
End With
End Sub
Viele Grüße
Uli

Anzeige
AW: Msg Box erscheint mehrmals
13.07.2013 13:23:54
Hajo_Zi
Hallo Uli,
das Ereignis wird nur bei verlassen ausgeführt.
Gruß Hajo

AW: Msg Box erscheint mehrmals
13.07.2013 14:04:32
Uli
Hallo Hajo,
danke für deine wirklich schnelle Antwort. Aber da ich den Command nicht kenne und auch keine vergleichebaren Beispiele im Internet gefunden habe, bin ich leider damit noch nicht weitergekommen.
Aus deinem letzten Kommentar schließe ich jedoch, dass ich eventuell meine Frage falsch gestellt habe.
Das Problem ist das ich über eine Textbox entspechende Werte eingebe, sich nach Auslöse des If-Commands jedoch der Wert "" in der Textbox befindet und der If-Command erneut ausgelöst wird. Wäre es möglich
1.) Den erneuten Durchlauf des Commands zu unterbinden
2.) Den Zustand bei Öffnen der Userform wieder erzeugen - zu diesem Zeitpunkt befindet sich auch kein Wert in der Textbox, es wird jedoch kein Ereignis ausgelöst.
Ich hoffe, mein Anliegen ist so etwas verständlicher - und ja, meine VBA Kenntnisse sind leider noch im Aufbau;)
Viele Grüße
Uli

Anzeige
AfterUpdate ...
14.07.2013 20:40:17
Matthias
Hallo
Private Sub InLaufzeit_AfterUpdate()
With InLaufzeit
If .Value = "" Then Exit Sub
If .Value  50 Then
MsgBox "nur positive Laufzeiten bis 50 Jahre": .Value = ""
End If
End With
End Sub
https://www.herber.de/bbs/user/86356.xlsm
Gruß Matthias

AW: AfterUpdate ...
18.07.2013 10:27:39
Ulrich
Vielen Dank an euch für eure Hilfe, das Problem konnte ich derart lösen:)
Nun hätte ich in diesem Zusammenhang noch eine weitere Frage an euch. Ich möchte, dass der absolute Wert der Eingabe in eine Textbox berechnet wird. Dieser sollte nicht größer als 1000 sein. Hierzu habe ich den folgenden Code verwendet:

Private Sub InZinsänderung_Change()
Dim a As Double
a = Abs(InZinsänderung.Value)
If a > 1000 Then
MsgBox "The absolut value should not exceed 1000"
End If
End Sub

Wenn ich nun jedoch eine negative Zahl eingebe, wird in der abs-Function aufgrund des "-" der Error Type 13 ausgelöst. Wenn ich die Funktion richtig verstehe, müsste sie mir den absoluten Wert wiedergeben und dieser Fehlermeldung dürfte nicht erscheinen.
Wisst Ihr vielleicht wie ich dieses Problem beheben kann, sodass der absolute Wert im If-Command verarbeitet wird und keine Fehlermeldung erscheint?
Ich würde mich über eure Hilfe sehr freuen - besten Dank im Voraus
Uli
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige