Max. Textlänge in Textboxes

Guten Abend,

ich meine, in Textboxes kann man schon eine Weile mehr als 255 Zeichen schreiben. Das mache ich in einer VBA-Proz., schreibe eine Textbox sukzessive voll (dient als Ereignisprotokoll). Aber der Text wird nur angezeigt, wenn er kürzer als 255 Zeichen ist, bei 256 Z. und mehr wird nix im Textfeld angezeigt.
Office 2003 unter Vista.

Wo kann der Fehler liegen?

Danke,
Laika

Hi Laika,

ich meine, in Textboxes kann man schon eine Weile mehr als 255
Zeichen schreiben.

k.A.

Das mache ich in einer VBA-Proz.

probier mal dieses, das hilft uns ein Stückchen weiter:

Sub Hinweis()
Dim Werte, W As Integer, Satz As String, Werte2, Titel As String
Werte = Array(34, 26, 85, 23, 28, 1, 1, 16, 6, 22, 29, 131, 27, 85, 28, 6, 1, 85, 17, 16, 27, 27, 85, 17, 16, 7, 85, 54, 26, 17, 16, 85, 74)
Werte2 = Array(60, 27, 19, 26, 7, 24, 20, 1, 28, 26, 27, 6, 24, 20, 27, 18, 16, 25)
For W = 0 To UBound(Werte2)
 Titel = Titel & Chr(Werte2(W) Xor 117)
Next W
For W = 0 To UBound(Werte)
 Satz = Satz & Chr(Werte(W) Xor 117)
Next W
MsgBox Satz, 48, Titel
End Sub

Wo kann der Fehler liegen?

Mal schauen.
Gruß
Reinhard

Hallo Laika,

ich hab unter EXCEL97/Windows98 kein Problem eine Textbox aus der Symbolleiste „Steuerelemente-Toolbox“ mit mehr als 250 Zeichen zu füllen. Dabei hab ich die Eigenschaft „Multiline“ der Textbox auf True gesetzt.
Mein Test-Makro, dass ich durch Selektion der Zelle A11 mehrfach aktiviert hab:

Private Sub Worksheet\_SelectionChange(ByVal Target As Excel.Range)
 If Target.Address = "$A$11" Then
 Me.TextBox1.Value = Me.TextBox1.Value & "0123456789 "
 End If
End Sub

Gruß
Franz

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke …
… habe inzwischen auch eine Lösung gefunden:
Vorher hatte ich eine Stringvariable im Laufe der Bearbeitung immer verlängert:

var = var & "bla bla"

und zum Schluss in das Textfeld umgeschrieben:

Protokoll.Characters.Text:=var

wobei „Protokoll“ das Textbox-Object ist.
Das ging dann schief.
Dann habe ich den ergänzenden Text sofort in das Textfeld geschrieben:

Protokoll.Characters(ProtokollLaenge).Insert String:=neuer\_text

wobei „ProtokollLaenge“ die bis dahin aufgelaufene Textlänge ist.
Funktioniert bestens …
Das nur mal so zur Info.

Gruss,
Laika

OT Namenskonventionen in Excel, Präfix (e)

Protokoll.Characters.Text:=var
wobei „Protokoll“ das Textbox-Object ist.

Hi Laika,
bei längerem Code, oder wenn du ihn nach einiger Zeit wieder verstehen willst, tust du dir was Gutes wenn du gleich Präfixe verwendest.
Also nicht Protokoll sondern txtProtokoll oder TBProtokoll.

Siehe auch dazu: http://de.wikibooks.org/wiki/VBA_in_Excel_-_Grundlag…

Gruß
Reinhard