Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrzeilige Textbox in Zellen schreiben

Mehrzeilige Textbox in Zellen schreiben
10.06.2014 10:48:55
krami
Hy, ich beschäftige mich seit kurzem mit excel vba und hab da jetzt ein kleines prob.
Ich habe auf einer Userform ein Textfeld in das ich manuell Text einragen kann, jetzt mein prob:
die Textbox soll Mehrzeilig sein ( hab ich) , jede Zeile (1-3 Worte) soll in eine bestimmte Zelle geschrieben werden.
Mit einer Zeile klappts ganz gut, ich weis nurnicht wie ich es mehrzeilig/zellig Schreibe.
Danke schonmal

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrzeilige Textbox in Zellen schreiben
10.06.2014 10:59:32
Rudi
Hallo,
z.B. mit Split().
arrtext=split(textbox1,vblf)
for i=0 to ubound(arrtext)
cells(i+1,1)=arrtext(i)
next i

Gruß
Rudi

AW:Rückfrage
10.06.2014 11:03:16
Daniel
Hi
warum verwendest du nicht für jede Zelle eine eigene Textbox?
dann kannst du über die ControlSource die Textbox mit der Zelle verknüpfen und brauchst gar nichts zu programmieren.
wenn du unbedingt eine Textbox für drei Zellen haben willst, wie soll denn geteilt werden?
nur bei Umbrüchen, die du per Tastatur (ENTER) eingibst oder auch bei Zeilenumbrüchen die automatisch erzeugt werden, weil der rechte Rand erreicht wurde?
Gruß Daniel

Anzeige
AW: AW:Rückfrage
10.06.2014 13:03:17
krami
Danke für die schnellen Antworten,
Ich habe das Problem, das wir ein vorgefertigetes Dokument haben(als PDF).
Dies habe ich mir nun in excel nachgebaut(der aufbau darf nicht geändert werden, is halt so),
und lass es durch ein formular welches von anderen tabellen vorgefüllt wird füllen.
Zur Kontrolle und um noch dieses ominöse textfeld auszufüllen lass ich mir die userform anzeigen.
Das textfeld habe ich der grösse des Dokument-bereichs angepasst(7 Zellen untereinander)
Der zeilenumbruch ist mir egal, wie der passiert, das textfeld ist nicht grösser.
MfG PK

Anzeige
AW: Mehrzeilige Textbox in Zellen schreiben
10.06.2014 14:41:27
Oberschlumpf
Hi #Name?
ich hab gerad mal mit eineM Userform(ular) + Textbox getestet.
Eine "einfache" Lösung, z Bsp mit Hilfe der Split-Funktion habe ich nicht gefunden.
Was aber gehen könnte, wäre, wenn du die Schriftart der Textbox von "Tahoma" auf "System" ändern kannst.
Die Schriftart "System" benötigt pro Zeile immer die gleiche Anzahl an Zeichen.
(bei der Schriftart "Tahoma" ist das unterschiedlich)
Wenn in deinem Textfeld eine Zeile 20 Zeichen lang ist, könnte man den gesamten Text zuerst aufteilen (Anzahl Zeichen Gesamttext / 20 = Anzahl Text-Zeilen)
Und diese Text-Zeilen könnte man dann wieder, wie von dir gewünscht, auf die einzelnen Zellen verteilen.
Aber dafür müsstest du bitte mal eine Bsp-Datei liefern, in der ich dann versuchen kann, deinen Wunsch zu "erbasteln".
Ciao
Thorsten

Anzeige
AW: Mehrzeilige Textbox in Zellen schreiben
10.06.2014 15:12:57
krami
Hy, ich hab mal die datei angehängt, es handelt sich um das formular Reisekosten.
Ich bin aber wie gesagt Anfänger mit vba!
https://www.herber.de/bbs/user/91056.xls
MfG Patrick

AW: Mehrzeilige Textbox in Zellen schreiben
10.06.2014 16:30:19
Oberschlumpf
Hi Patrick
Sorry, aber!
Was soll ich mit einer leeren Datei ohne weitere Erklärungen?
Warum nur verstehen viele Frager nicht, dass auch BSP-DATEN nicht sein können, sondern sein MÜSSEN!
Ich und andere mögliche Antworter haben doch von deiner Datei keine Ahnung.
Du shcreibst zwar, um welche Tabelle es geht, aber du verrätst nicht, von welchen mehrzeiligen Zellen du anfangs gesprochen hast.
Also bitte noch mal....
...eine Bsp-Datei
...MIT Bsp-Daten, genug davon, um zu verstehen, was du möchtest
...Erklärungen bitte nicht vergessen, was wann wieso wo geschehen soll
Sorry für meine "offenen Worte", aber so kann ich nicht arbeiten.
Das Einzige, was ich dank deiner Bsp-Datei verstanden habe, ist, dass es sich bei deiner Tabelle "Reisekosten" nicht um ein Userform handelt (wie es im VBE eingesetzt wird), sondern eben um eine aufbereitete Excel-Tabelle.
Ciao
Thorsten

Anzeige
AW: Mehrzeilige Textbox in Zellen schreiben
10.06.2014 17:35:06
krami
Hy Thorsten,
hast ja recht, war nen fehler von mir mit der leeren datei!
habe jetzt mal was eingefügt und was dazu geschrieben, hoffe es reicht.
https://www.herber.de/bbs/user/91059.xls
danke schonmal für die Mühe!
MfG Patrick

Anzeige
ich bin raus, weil....
10.06.2014 18:36:58
Oberschlumpf
Hi Patrick,
...du nun zwar verrätst, um welche Zellen mit mehr als 1 Zeile Text es sich handelt, aber....wo bitte ist der Hinweis, wohin denn die aufgeteilten Zeilen hin sollen? Das Zellenziel fehlt leider.
Sorry, aber ich mag nicht mehr. Meine (Frei)Zeit - für dich kostenlos zur Verfügung gestellt - ist mir zu schade, als dass ich vor meinem Lösungsversuch erst mal mehrmals die gleichen Fragen stellen muss.
Wünsche dir aber viel Glück!
Und vllt der Hinweis, bei deinen nächsten Fragen gleich zu Beginn alle wichtigen Infos zu nennen.
Du denkst vllt, dass du doch gar nicht wissen kannst, welche Folgefragen entstehen können.
Ich behaupte: "Doch, das kannst du wissen!"
Versetz dich mal in unsere Lage.
Wir wissen NICHTS von deinen Tabellen, deinem Vorhaben, was auch immer du erreichen willst.
Erzähl uns einfach ALLES.
Ciao
Thorsten

Anzeige
AW: ich bin raus, weil....
11.06.2014 15:16:46
krami
Hy nochmal.
ich habs mit split(), ohne schleife hinbekommen.
danke für die hilfe.
MfG PK

AW: ich bin raus, weil....
11.06.2014 15:52:57
krami
hy,
ich habs mit split() ohne schleife hinbekommen.
danke für die hilfe
MfG PK

AW: Mehrzeilige Textbox in Zellen schreiben
10.06.2014 17:16:46
Daniel
Hi
ich würde da die drei Zielzellen per Zellen-Verbinden mit einander verbinden und den Text dann komplett da reinschreiben (Zielzelle ist die linke obere Zelle des Verbundes).
wenn du die Position des Automatsichen Zeilenumbruchs finden willst, musst du per Schleife den Cursor in der Textbox an jede Postion setzen und schauen, ob sich der Cursor in einer anderen Zeile befindet als in der Position davor.
Wenn das der Fall ist, hast du den automatischen Zeilenumburch gefunden.
Wird also recht komplex in der Programmierung für nen Anfänger.
benötigt würden die Befehle:
Textbox1.SelStart = 1 setzt den Cursor an eine bestimmte Position in der Textbox
Textbox1.CurLine ermittelt die Zeilennummer, in welcher sich der Cursor gerade befindet.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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

Mehrzeilige Textbox in Zellen schreiben


Schritt-für-Schritt-Anleitung

  1. Textbox erstellen: Öffne die Excel-Datei und gehe in den VBA-Editor (Alt + F11). Füge ein Userform hinzu und platziere eine Textbox darauf. Stelle sicher, dass die Textbox mehrzeilig ist. Dies kannst du im Eigenschaftenfenster unter MultiLine auf True setzen.

  2. Text in Zellen schreiben: Verwende den folgenden VBA-Code, um den Text aus der Textbox in mehrere Zellen zu übertragen:

    Dim arrText As Variant
    arrText = Split(TextBox1.Text, vbLf) ' Text in Zeilen aufteilen
    Dim i As Integer
    For i = LBound(arrText) To UBound(arrText)
       Cells(i + 1, 1).Value = arrText(i) ' In die Zellen schreiben
    Next i
  3. Userform aufrufen: Du kannst die Userform mit einem Button oder einem Shortcut aufrufen, um den Prozess zu starten.


Häufige Fehler und Lösungen

  • Fehler beim Senden mehrzeiliger Texte: Wenn der Text nicht korrekt aufgeteilt wird, stelle sicher, dass du vbLf als Trennzeichen verwendest. Dies sorgt dafür, dass Zeilenumbrüche im Text korrekt erkannt werden.

  • Textbox nicht mehrzeilig: Überprüfe die Eigenschaften der Textbox. Stelle sicher, dass MultiLine auf True gesetzt ist, und dass der Zeilenumbruch erlaubt ist.


Alternative Methoden

  • Verwendung von mehreren Textboxen: Wenn du für jede Zelle eine eigene Textbox verwenden möchtest, kannst du die ControlSource-Eigenschaft nutzen, um die Textboxen direkt mit den Zellen zu verbinden. So brauchst du keinen VBA-Code.

  • Zellen verbinden: Eine andere Methode besteht darin, die Zellen zu verbinden und den gesamten Text dort einzufügen. Dies ist nützlich, wenn du sicherstellen möchtest, dass der Text in einer einzigen Zelle dargestellt wird.


Praktische Beispiele

  • Reisekostenabrechnung: Wenn du ein Reisekostenabrechnung Formular in Excel erstellst, kannst du ein Textfeld für die Beschreibung der Reisekosten verwenden. Nutze die oben genannten Schritte, um mehrzeiligen Text in entsprechende Zellen zu übertragen.

  • Zweizeilig in Excel schreiben: Wenn du nur zwei Zeilen Text benötigst, kannst du die Textbox entsprechend anpassen und den Text dann in die obersten zwei Zellen eingeben.


Tipps für Profis

  • Datenüberprüfung auf andere Zellen kopieren: Wenn du Dropdown-Listen in Excel verwenden möchtest, kannst du die Funktion Datenüberprüfung nutzen und diese dann auf andere Zellen übertragen. Dies ist besonders nützlich, wenn du standardisierte Eingaben benötigst.

  • Textformatierung: Achte darauf, dass die Schriftart in der Textbox gleichmäßig ist, um die Lesbarkeit zu verbessern. Du könntest die Schriftart auf "System" ändern, um ein einheitliches Zeichenbild zu gewährleisten.


FAQ: Häufige Fragen

1. Wie kann ich mehrzeilige Texte in eine Zelle einfügen?
Du kannst die Split-Funktion in VBA verwenden, um den Text aus der Textbox in mehrere Zellen zu übertragen.

2. Was mache ich, wenn der Text nicht korrekt dargestellt wird?
Überprüfe die Eigenschaften der Textbox und stelle sicher, dass sie mehrzeilig ist. Achte auch darauf, dass du das richtige Trennzeichen verwendest.

3. Kann ich ein Dropdown-Menü in einer Userform verwenden?
Ja, du kannst ein Dropdown-Menü in deiner Userform einfügen und die Auswahl dann in eine Zelle übertragen.

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