Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
340to344
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
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zweiter Versuch, 2 MsgBoxen nacheinander

Zweiter Versuch, 2 MsgBoxen nacheinander
25.11.2003 08:21:38
Wolfgang Friese
Tach zusammen,

leider kann ích mit der Antwort "SetFocus?" nichts anfangen. Deshalb hier zum zweitenmal mein Problem!

ich habe eine UserForm mit vielen Textfeldern erstellt. In das Textfeld "txtAdresse" soll auf jeden Fall ein Wert eingegeben werden. Dieses Problem habe ich mit Hilfe des Forums lösen können. Wenn nun kein Wert in das Textfeld eingegeben wird erscheint die Meldung:

Meldung = MsgBox("Erstes Zeichen ein Buchstabe", vbRetryCancel + vbExclamation, Meldungsfenster)

und der Anwender kann wählen ob er einen neuen Versuch starten will oder nicht. Bei vbRetry läuft alles wunschgemäß.

Wenn der Anwender vbCancel wählt wird die Sub cmdEnd_Click() aufgerufen. Hier kann nochmal gewählt werden zwischen Beenden und weitermachen. Wenn nun auf die Frage Beenden mit nein geantwortet wird soll der Focus wieder auf das Feld
"txtAdresse" gesetzt werden und der Cursor dort blinken.

Hier mein Problem: Der Cursor blinkt im folgenden Feld "txtPLZ" und nicht im Feld "txtAdresse"

Wer weiß da Rat?

'Prüfen ob das Feld Adressen eine Eingabe hat, Zwangseingabe



Private Sub txtAdresse_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Meldung
If Me.txtAdresse.Text = "" Or IsNumeric(txtAdresse) = True Then
Meldung = MsgBox("Erstes Zeichen ein Buchstabe", vbRetryCancel + vbExclamation, Meldungsfenster)
If Meldung = vbRetry Then
Me.txtAdresse = ""
Me.txtAdresse.SetFocus
Cancel = True
End If
End If
If Meldung = vbCancel Then Call cmdEnd_Click
End If
End Sub





Private Sub cmdEnd_Click()
Dim EndMeldung
EndMeldung = MsgBox("Wollen Sie die Eingabe beenden?", vbYesNo + vbQuestion)
If EndMeldung = vbYes Then End 'Beendet das Makro richtig
If EndMeldung = vbNo Then 'Funktioniert nicht, wenn vorher die MSGBOX
Me.txtAdresse = ""        ' Wiederholen Abbrechen   aufgerufen wurde
Me.txtAdresse.SetFocus
Cancel = True
End If
End Sub



Vielen Dank im Voraus

Wolfgang

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zweiter Versuch, 2 MsgBoxen nacheinander
25.11.2003 09:33:54
Michael Scheffler
Hi,

wieso kannst Du mit VBA gut nichts mit SetFocus anfangen, bei mir kommt mit F1 die Hilfe, wenn ich SetFocus eingebe, steht da:
"Setzt den Fokus auf die angegebene Objektinstanz"

Und im MS-Beispiel:
"TextBox1.SetFocus"

Ergo für Dich:
"txtAdresse.SetFocus"

Gruß

Micha
AW: Zweiter Versuch, 2 MsgBoxen nacheinander
25.11.2003 09:59:23
Wolfgang Friese
Hallo Micha,

wie du im zweiten Teil meiner Programmteiel sehen kannst verwewnde ich den Befehl txtAdresse.setFocus. Das Makro tut es trotzdem nicht!!

Gruß Wolfang
AW: Zweiter Versuch, 2 MsgBoxen nacheinander
25.11.2003 10:05:03
Michael Scheffler
Hi,

dann kann es daran liegen, dass Excel nicht richtig installiert ist. Bei meinem Kollegen laufen gewisse Setfocus-Befehle auch nicht, die bei mir laufen.

Gruß

Micha
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige