Zweiter Versuch, 2 MsgBoxen nacheinander

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm TextBox MsgBox
Bild

Betrifft: Zweiter Versuch, 2 MsgBoxen nacheinander
von: Wolfgang Friese
Geschrieben am: 25.11.2003 08:21:38

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
Bild


Betrifft: AW: Zweiter Versuch, 2 MsgBoxen nacheinander
von: Michael Scheffler
Geschrieben am: 25.11.2003 09:33:54

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


Bild


Betrifft: AW: Zweiter Versuch, 2 MsgBoxen nacheinander
von: Wolfgang Friese
Geschrieben am: 25.11.2003 09:59:23

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


Bild


Betrifft: AW: Zweiter Versuch, 2 MsgBoxen nacheinander
von: Michael Scheffler
Geschrieben am: 25.11.2003 10:05:03

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


Bild

Beiträge aus den Excel-Beispielen zum Thema " Zweiter Versuch, 2 MsgBoxen nacheinander"