Clever-Excel-Forum

Normale Version: Zeichenanzahl in einem PopUp Fenster anzeigen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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. Dodgy
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. Dodgy

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 Tabelle2
Option 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 UserForm1
Option 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
Seiten: 1 2