Mit Hilfe von Erich habe ich folgendes in einer meiner Dateien integrieren können:
Private Sub TextBoxKV_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
With TextBoxKV
If .Text = "" Then Exit Sub
If IsNumeric(.Text) Then
.Text = Format(CDbl(.Text), "##0") ' "##0" wenn nur ganze Zahlen
Else
MsgBox "Hier können Sie nur Zahlen eingeben!!", 64, "Fehler"
.SelStart = 0
.SelLength = Len(.Text)
End If
If TextBoxKV.TextLength > 3 Then
MsgBox "Die Eingabe der Kathodenspannug (KV) ist auf 3 Zeichen begrenzt!", 64, "Fehler"
.SelStart = 0
.SelLength = Len(.Text)
Cancel = True
End If
End With
End Sub
es überprüft eine TextBox in einem UserForm auf "Zahlen-Inhalt", lehnt Text ab und begrenzt mir die Menge der Zahlen. MessageBoxen geben Hinweise zwischendurch. Und ich werde immer wieder in die TextBox zurück geschickt, solange ich nicht auf die Bedingungen eingehe oder die Zelle leer verlasse.
-----------------
Ich brauche aber nun so eine Prüfung (...kann es wieder über Boolean gehen?) auch für eine ComboBox. ALLERDINGS: Nun Zahlen ablehnen und nur noch Text zulassen! Nun dachte ich mir, nimm das oben stehende als Vorbild und "drehe es irgendwie um": Von Zahl zu Text. Folgendes ist dabei heraus gekommen:
Private Sub ComboBoxPflege02_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
With ComboBoxPflege02
If .Text = "" Then Exit Sub '####HIER KOMME ICH NICHT WEITER###
If IsNumeric(.CDbl) Then '####HIER KOMME ICH NICHT WEITER###, habe auch "If Not" _
versucht...
.Text = Format("") '####HIER KOMME ICH NICHT WEITER###
Else
MsgBox "Hier können Sie nur Text eingeben!!", 64, "Fehler"
.SelStart = 0
.SelLength = Len(.Text)
End If
If ComboBoxPflege02.TextLength > 5 Then
MsgBox "Die Eingabe ist auf 5 Zeichen begrenzt!", 64, "Fehler"
.SelStart = 0
.SelLength = Len(.Text)
Cancel = True
End If
End With
End Sub
Ansonsten wie oben: MessageBoxen geben Hinweise und ich werde immer wieder in die ComboBox zurück geschickt, solange ich nicht auf die Bedingungen eingehe oder die Zelle leer verlasse.
Wenn ich zurück geschickt werde, sollen die "Fehl-Einträge" zwecks sofortiger Änderung blau unterlegt sein.
Viele Grüße aus dem hohen Norden
Lenhard