Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Formatierung in Abhängigkeit von Eingabe

Betrifft: Formatierung in Abhängigkeit von Eingabe von: Mathias
Geschrieben am: 14.09.2004 09:16:05

Hallo liebe Helfer,

ich habe folgendes Problem: Die Eingaben in eine userform sollen in ein bestimmtes Format gebracht werden in Abhängigkeit von der Länge der Eingabe. Bei meinem Code ergibt sich das Problem, dass immer! die Formatierung für die längere Eingabe (12-Zeichen) verwendet wird.

Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox5.Text) = 0 Then Exit Sub

If Len(TextBox5) 'ist größer als' 0 Then
If Len(TextBox5) 'ist kleiner als' 6 Then
MsgBox "Bitte mindestens eine 6-stellige Zahl angeben!"
Cancel = True
End If

If Len(TextBox5) 'ist größer als' 6 Then
If Len(TextBox5) 'ist kleiner als' 12 Then
MsgBox "Bitte eine 6- oder 12-stellige Zahl angeben!"
End If

Rem Hier liegt das Problem, nimmt immer die Formatierung für 12 Zeichen
If Len(TextBox5.Text) = 6 Then TextBox5 = Format(TextBox5, "@@@ @@@")
If Len(TextBox5.Text) 'ist größer als' 6 Then TextBox5 = Format(TextBox5, "@@ @@@ @@@ @@@ @")
End If

Danke für die Hilfe
Mathias

  


Betrifft: AW: Formatierung in Abhängigkeit von Eingabe von: Hans W. Herber
Geschrieben am: 14.09.2004 10:05:02

Hallo Mathias,

wie folgt:
Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   If TextBox5.TextLength = 0 Then Exit Sub
   If TextBox5.TextLength < 6 Then
      MsgBox "Bitte mindestens eine 6-stellige Zahl angeben!"
      Exit Sub
   End If
   If TextBox5.TextLength > 6 And TextBox5.TextLength < 12 Then
      MsgBox "Bitte eine 6- oder 12-stellige Zahl angeben!"
      Exit Sub
   End If
   If TextBox5.TextLength = 6 Then
      TextBox5.Text = Format(TextBox5.Text, "@@@ @@@")
   Else
      TextBox5.Text = Format(TextBox5.Text, "@@ @@@ @@@ @@@ @")
   End If
End Sub

gruss hans


 

Beiträge aus den Excel-Beispielen zum Thema "Formatierung in Abhängigkeit von Eingabe"