Dann hole ich mal die Kanone raus.
Tabelle mit einer Textbox
In der Nachbarzelle wird die Textlänge während des Eintrags aktualisiert.
Ab einer Zeichenlänge von 6 greift eine bedingte Formatierung.
Code in der Tabelle:
Private Sub TextBox1_Change()
With TextBox1.TopLeftCell.Offset(0, 1)
.Value = Len(TextBox1)
End With
End Sub
Tabelle im Anhang
Sicherlich könnte man beim Erreichen auch eine MsgBox aufrufen.
Gruß Ralf
Bei mir stopp Excel leider nicht sonder spuckt die Fehlermeldung erst nach drücken der Entertaste aus.
Und wenn man den Code etwas erweitert, sieht man das Böse sogar direkt in der TextBox:
Private Sub TextBox1_Change()
With TextBox1.TopLeftCell.Offset(0, 1)
.Value = Len(TextBox1)
If .Value > 5 Then TextBox1.BackColor = vbRed Else TextBox1.BackColor = vbWhite
End With
End Sub
(03.08.2017, 10:24)Blane schrieb: [ -> ]Bei mir stopp Excel leider nicht sonder spuckt die Fehlermeldung erst nach drücken der Entertaste aus.
Das schrieb ich bereits in meiner ersten Antwort von 10:41!
Lies Dir meine Antworten noch mal in aller Ruhe durch.
Das Ganze mal als anwendbares Beispiel.
Tabelle Texteingabe, Spalte A ab Zeile 2
Die Auswahl
einer Zelle ruft ein Userform auf.
Falls bereits etwas in der Zelle steht, wird es in die Textbox übernommen.
Die Textbox hat die .MaxLength-Eigenschaft 10.
Heißt es
können nicht mehr als 10 Zeichen eingegeben werden.
Es ist sehr wenig Code notwendig:
Microsoft Excel Objekt Tabelle2Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target
If .CountLarge = 1 And .Column = 1 And .Row > 1 Then _
UserForm1.Show
End With
End Sub
Dialog UserForm1Option Explicit
Private Sub UserForm_Initialize()
TextBox1 = ActiveCell
End Sub
Private Sub TextBox1_Change()
Me.Label2.Caption = _
"Textlänge bisher: " & Len(TextBox1)
End Sub
Private Sub CommandButton1_Click()
ActiveCell = TextBox1
Unload Me
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Datei im Anhang.
Enjoy! ;)
Gruß Ralf
Vielen Dank Ralf für deine tolle Hilfe,
da ich mich leider überhaupt nicht VB auskenne, muss ich dich leider noch mal fragen.
Wo kann ich die Eingabe auf 51 Zeichen beschränken und die Eingabe soll in der Spalte B erfolgen.
Danke noch mal