![]() |
Betrifft: Textlänge bei Eingabe in Textbox begrenzen
von: TomTom
Hi,
ich lade mir auf meinem Sheet Daten aus einer Zelle in eine Textbox:
For Each C in Range ("A5")
Textbox2.Value = Textbox2.Value & C.Value
Next
Nun möchte ich die Eingabe in die Texgbox begrenzen, und zwar nach 2 Kriterien:
1. es sollen max. 500 Zeichen in die Textbox geschrieben werden oder,
2. es sollen max. 10 Zeilen in die Textbox geschrieben werden
(Je nachdem , was eintritt)
Sollte der Fall mal eintreten, dass nicht der gasamt Inhalt aufgrund der 2 genannten Kriterien in die Textbox geschrieben werden kann, dann soll am Schluss der Information noch ein "..." angefügt werden.
1. Beispiel : "Wenn diese Information über 500 Zeichen hätte, dann soll am Schluss, an der Stelle wo abgeschnitten wurde nach das hier ran : ...."
2. Beispiel:
"Wenn diese Information
über 10 Zeilen
hätte, dann
soll am
Schluss,
an der
Stelle wo
abgeschnitten
wurde nach
das hier ran :
...."
Ich hoffe, ich konnte Euch mein Problem richtig erklären und jemand kann mir sagen, wie ich meinen seither genutzten Code erweitere,
Danke mal
Gruss
Tom
![]() |
Betrifft: AW: Textlänge bei Eingabe in Textbox begrenzen
von: Worti
Geschrieben am: 23.07.2008 20:26:19
Hi Tom,
liest du nur die eine Zelle A5 aus (1)?
Oder einen Zellbereich, wo du nach jeder Zelle einen Zeilenumbruch in der Textbox einfügen willst (2)?
Oder haben eventuell die zusammenzufügenden Zellen schon Zeilenumbrüche(3) ?
für den Fall (2) versuch mal diesen Code:
Sub tom()
Dim rngC As Range
Dim intAnzahlzeilen
intAnzahlzeilen = 0
For Each rngC In Range("A1:A15")
If Len(UserForm1.TextBox1.Value) + Len(rngC) <= 500 And _
intAnzahlzeilen < 10 Then
If rngC <> "" Then
UserForm1.TextBox1.Value = UserForm1.TextBox1.Value + rngC.Value & Chr(10)
intAnzahlzeilen = intAnzahlzeilen + 1
End If
Else
UserForm1.TextBox1.Value = UserForm1.TextBox1.Value & "..."
Exit For
End If
Next
UserForm1.Show
End Sub
Gruß Worti
![]() |
Betrifft: AW: Textlänge bei Eingabe in Textbox begrenzen
von: TomTom
![]() |
Betrifft: AW: Textlänge bei Eingabe in Textbox begrenzen
von: Matthias L
Geschrieben am: 23.07.2008 20:27:20
Hallo Tom
Gib der MaxLength-Eigenschaft der Textbox einen Wert z.B 503
Vergleiche nun Len(Textbox1.Value) mit MaxLength.
Nun kannst Du mit einer If Abfrage die Länge die Box neu befüllen, unter dem Motto
If Len(Textbox1.Value)=500 then Textbox1.Value= Left(Textbox1.Value,500) &"..."
- nicht getestet -
Gruß Matthias
![]() |
Betrifft: AW: Textlänge bei Eingabe in Textbox begrenzen
von: Daniel
With TextBox1
Do Until .LineCount <= 10 And Len(.Text) <= 500
.Text = Left$(.Text, Len(.Text) - 1)
Loop
.Text = Left$(.Text, Len(.Text) - 3) & "..."
End With
Gruß, Daniel
![]() |