Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Jede Zeile aus Textbox einzeln auslesen

Jede Zeile aus Textbox einzeln auslesen
HolgerCW
Hallo zusammen,
ich habe auf einer Form eine Textbox in der längere Texte eingegeben werden können. Wie kann ich diese Texte nun Zeile für Zeile auslesen ?
Gruss
Holger
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Jede Zeile aus Textbox einzeln auslesen
31.03.2010 09:12:19
mumpel
Hallo!
Das ist leider nicht möglich. Man könnte allenfalls den kompletten Text in einer Variable speichern, dann nach dem "Zeilenumbruchzeichen" suchen und bis zu diesem Zeichen in einer weiteren Variable speichern. Für jede Zeile bräuchte man eine eigene Variable. Aber irgendwann läuft dann der Speicher über. Ob meine Überlegungen überhaupt funtkionieren weiss ich nicht.
Gruß, René
Anzeige
AW: Jede Zeile aus Textbox einzeln auslesen
31.03.2010 09:13:38
Daniel
Hi
das kommt darauf an.
wenn die neuen Zeilen per Entertaste vom Anwender erzeugt wurden, dann könntest du die Eingabe mit der Split-Funktion in ein Array-Variable schreiben und diese auswerten:
dim EinzelTexte() as string
EinzelTexte = Split(Textbox1.Text, Chr(10))
Msgbox "Erste Zeile: " & EinzelTexte(0)
bei automatischen Zeilenumbrüchen wird es sehr schwierig.
Gruß, Daniel
Anzeige
AW: Jede Zeile aus Textbox einzeln auslesen
31.03.2010 09:44:59
mumpel
Das sieht gut aus. Aber wie zählt man, wie oft CHR(10) vorkommt? Muss man ja wissen um jede Zeile separat nutzen zu können.
AW: Jede Zeile aus Textbox einzeln auslesen
31.03.2010 09:50:59
xr8k2
Hallo Mumpel,
'...
For i = 0 To UBound(EinzelTexte)
MsgBox "Zeile" & i + 1 & ": " & EinzelTexte(i)
Next i
'...
Gruß,
xr8k2
Anzeige
chr(10) zählen
31.03.2010 10:01:50
Rudi
Hallo,
wozu zählen?
Durch Split() erhätst du ein Array, dass die Zeilen enthält.
Gruß
Rudi
AW: chr(10) zählen
31.03.2010 10:35:54
HolgerCW
alles klar. Das funkioniert super
AW: chr(10) zählen
31.03.2010 13:16:19
mumpel
Zählen muss man dann wenn die Zeilen in separate Zellen geschrieben werden sollen und man nicht weiss wie viele Zeilen es sind. Dafür benötigt man ein i, oder nicht? Ob soetwas Sinn macht wollen wir hier mal aussen vor lassen.
Anzeige
nö, noch immer nicht nötig.
31.03.2010 14:17:13
Rudi
Hallo,
ganz primitives Bsp.:
in B2 steht ein Text mit Zeilenümbrüchen
Sub tt()
Dim x
x = Split([B2], vbLf)
[C2].Resize(UBound(x) + 1) = WorksheetFunction.Transpose(x)
End Sub

Gruß
Rudi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Texte aus einer Excel-Textbox zeilenweise auslesen


Schritt-für-Schritt-Anleitung

Um Texte aus einer Textbox in Excel VBA zeilenweise auszulesen, kannst du die folgende Schritt-für-Schritt-Anleitung verwenden:

  1. Textbox auf dem Formular erstellen: Füge eine Textbox zu deinem UserForm hinzu.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Code einfügen: Kopiere den folgenden Code in das Codefenster des UserForms:

    Dim EinzelTexte() As String
    EinzelTexte = Split(TextBox1.Text, vbLf) ' Zeilen trennen
    For i = 0 To UBound(EinzelTexte)
       MsgBox "Zeile " & i + 1 & ": " & EinzelTexte(i)
    Next i
  4. Textbox testen: Gib einige Zeilen Text in die Textbox ein und führe den Code aus, um jede Zeile einzeln anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler: Text wird nicht korrekt aufgeteilt

    • Lösung: Stelle sicher, dass du vbLf verwendest, um die Zeilen zu trennen. Bei Verwendung von Chr(10) kann es zu Problemen kommen, wenn der Text nicht korrekt formatiert ist.
  • Fehler: Array-Index außerhalb des Bereichs

    • Lösung: Überprüfe, ob die Textbox leer ist, bevor du das Array mit Split() füllst. Füge eine Bedingung hinzu:
    If Len(TextBox1.Text) > 0 Then
      EinzelTexte = Split(TextBox1.Text, vbLf)
    End If

Alternative Methoden

Falls du eine andere Methode zur Verarbeitung der Texte benötigst, kannst du auch die Resize-Methode nutzen, um die Zeilen in Zellen zu schreiben:

Sub SchreibeInZellen()
    Dim x
    x = Split(TextBox1.Text, vbLf)
    Range("C2").Resize(UBound(x) + 1) = WorksheetFunction.Transpose(x)
End Sub

Diese Methode ist nützlich, wenn du die Zeilen in Excel-Zellen anstelle von MsgBoxen anzeigen möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den Text aus einer Textbox zeilenweise verarbeiten kannst:

  1. Text in Zellen schreiben:

    • Verwende den oben genannten SchreibeInZellen-Code, um den Text in die Zellen der Spalte C zu übertragen.
  2. Anzeige in einer ListBox:

    • Du kannst auch die Zeilen in einer ListBox anzeigen lassen:
    ListBox1.Clear
    For i = 0 To UBound(EinzelTexte)
       ListBox1.AddItem EinzelTexte(i)
    Next i

Tipps für Profis

  • Nutze die Join-Funktion, um ein Array wieder in einen String umzuwandeln, falls du die Zeilen später wieder zusammenführen möchtest.

  • Achte darauf, die Textbox-Eingaben regelmäßig zu validieren, um sicherzustellen, dass die Daten korrekt verarbeitet werden.

  • Bei der Arbeit mit großen Textmengen könnte der Einsatz von StringBuilder in VBA die Leistung verbessern.


FAQ: Häufige Fragen

1. Wie kann ich die Anzahl der Zeilen in der Textbox zählen?
Du kannst die Anzahl der Elemente im Array EinzelTexte mit UBound ermitteln:

Dim AnzahlZeilen As Long
AnzahlZeilen = UBound(EinzelTexte) + 1

2. Was tun, wenn der Text in der Textbox Zeilenumbrüche enthält, die nicht von der Enter-Taste erzeugt wurden?
In solchen Fällen kannst du alternative Trennzeichen wie vbCr oder vbCrLf ausprobieren, um den Text korrekt aufzuteilen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige