Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilenumbruch bei mehrspaltige Listbox

Forumthread: Zeilenumbruch bei mehrspaltige Listbox

Zeilenumbruch bei mehrspaltige Listbox
Urmila
Hallo alle zusammen,
ich habe ein Code indem ich in einer Listbox mehrere Werte spaltenweisen einlesen kann, doch das Problem ist, dass wenn ein Wert langen Text erhält, wird in der Listbox nicht der ganze Wert angezeigt. Ich verwende dafür folgenden Code:
ListBox1.Clear
For i = 3 To LRow
With .ListBox1
.AddItem wks1.Cells(i, 1)
.List(.ListCount - 1, 1) = wks1.Cells(i, 2)
.List(.ListCount - 1, 2) = wks1.Cells(i, 3)
.List(.ListCount - 1, 3) = wks1.Cells(i, 4)
.List(.ListCount - 1, 4) = wks1.Cells(i, 5)
.List(.ListCount - 1, 5) = wks1.Cells(i, 6)
.List(.ListCount - 1, 6) = wks1.Cells(i, 7)
End With
Next i
End With
Wie kann ich da noch den Zeilenumbruch einbauen?
Danke und LG
Urmila
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Zeilenumbruch in ListBox geht nicht
14.12.2009 11:34:08
Tino
Hallo,
Zeilenumbruch in einer Listbox geht soweit ich es weis nicht.
Gruß Tino
AW: andere Methode gesucht dann...
14.12.2009 12:55:54
Urmila
Danke Tino
Aber gibts überhaupt eine Möglichkeit soetwas darzustellen?
Ich will sowas wie 'ne Rechnungserstellungtool, also es soll ein Bereich (ListBox oder TextBox) geben, was die lfd. Nummer, Artikelbezeichnung, Preis (brutto) anzeigt
Für eure Hilfe wäre ich dankbar....
LG
Urmila
Anzeige
möglichkeiten gibt es immer...
14.12.2009 13:17:04
Tino
Hallo,
, z. Bsp. könnte ich mir vorstellen ein Webbrowser Steuerelement einzubauen und
diese Darstellung als html aufzubauen und darzustellen.
Da ich aber auch kein Bsp. zur Hand habe, müsste ich mich auch erst mal damit beschäftigen.
Ich lass die Frage mal offen.
Gruß Tino
Anzeige
AW: möglichkeiten gibt es immer...
14.12.2009 14:30:12
Urmila
ja das wäre super wenn man das irgendwie darstellen könnte
oder geht das auch in textboxen....
Danke und LG
Urmila
AW: möglichkeiten gibt es immer...
14.12.2009 17:19:06
Tino
Hallo,
bei Textboxen kannst Du einen Autozeilenumbruch durch setzen der Eigenschaft
MultiLine auf True erreichen.
Gruß Tino
AW: möglichkeiten gibt es immer...
14.12.2009 19:38:31
Urmila
Hi
ja, aber ich habe bei meinem Code statt ListBox1 dann TextBox1 eingetragen und es hat nicht funktioniert. Ist es bei TextBox anders zu behandeln?
danke dir und LG sowie gute nacht ;-)
Urmila
Anzeige
alles sehr aufwendig
14.12.2009 20:20:49
Tino
Hallo,
wenn Du dies mit Textboxen machen willst, brauchst Du für jede Zeile und Spalte eine Textbox.
Ich würde es in Richtung meines ersten Vorschlages machen, must mal über Google suchen ob Du da was finden kannst, ist aber auch alles nicht so einfach.
Es gibt da noch das DataGrid Steuerelement, dies habe ich aber seit xl2007 nicht mehr verwendet weil es da Probleme mit dem Ding gibt und ich es nur sehr umständlich zu laufe bringen konnte.
Ich lass die Frage offen, vielleicht hat jemand etwas fertiges auf seinem Rechner liegen der dir dies zur Verfügung stellen kann.
Gruß Tino
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilenumbruch in mehrspaltigen Listboxen und Textboxen in Excel VBA


Schritt-für-Schritt-Anleitung

Um einen Zeilenumbruch in einer Listbox zu realisieren, ist es wichtig zu wissen, dass dies in Excel VBA nicht direkt unterstützt wird. Ein Alternativansatz ist die Verwendung von Textboxen. Hier ist eine einfache Anleitung, wie Du dies umsetzen kannst:

  1. Textbox hinzufügen: Füge eine Textbox zu Deinem UserForm hinzu und setze die Eigenschaft MultiLine auf True.
  2. Code anpassen: Ändere Deinen bestehenden Code so, dass die Werte in die Textbox anstatt in die Listbox eingefügt werden.

Beispiel für den Code:

TextBox1.Clear
For i = 3 To LRow
    TextBox1.Text = TextBox1.Text & wks1.Cells(i, 1) & vbCrLf & _
                    wks1.Cells(i, 2) & vbCrLf & _
                    wks1.Cells(i, 3) & vbCrLf & _
                    wks1.Cells(i, 4) & vbCrLf & _
                    wks1.Cells(i, 5) & vbCrLf & _
                    wks1.Cells(i, 6) & vbCrLf & _
                    wks1.Cells(i, 7) & vbCrLf
Next i

Häufige Fehler und Lösungen

  1. Textbox zeigt keinen Zeilenumbruch an:

    • Überprüfe, ob die MultiLine-Eigenschaft der Textbox auf True gesetzt ist.
  2. Werte erscheinen nicht korrekt:

    • Stelle sicher, dass Du die Werte korrekt mit vbCrLf trennst, um einen Zeilenumbruch zu erzeugen.

Alternative Methoden

Eine weitere Möglichkeit ist die Verwendung eines Webbrowser-Steuerelements. Hier kannst Du HTML verwenden, um die Anzeige flexibel zu gestalten. Du kannst eine HTML-Seite erstellen, die das Layout für Deine Daten steuert und diese im Webbrowser-Steuerelement anzeigt.

Beispiel:

WebBrowser1.Navigate "C:\Path\to\your\file.html"

Praktische Beispiele

Wenn Du eine Rechnungserstellung in Excel VBA umsetzen möchtest, kannst Du die Textbox zur Anzeige von Rechnungsdetails verwenden:

TextBox1.Text = "Rechnung Nr.: " & Rechnungsnummer & vbCrLf & _
                "Artikel: " & Artikelbezeichnung & vbCrLf & _
                "Preis: " & Preis & " €"

Tipps für Profis

  • Dynamische Textboxen: Wenn Du viele Daten hast, überlege, dynamisch Textboxen zu erstellen, anstatt die Werte in eine große Textbox zu schreiben. Dies kann die Lesbarkeit und Bearbeitbarkeit verbessern.
  • Datenvalidierung: Implementiere Datenvalidierung, um sicherzustellen, dass die Benutzer die korrekten Informationen eingeben.

FAQ: Häufige Fragen

1. Kann ich einen Zeilenumbruch in einer Listbox verwenden?
Leider wird ein Zeilenumbruch in einer Listbox nicht unterstützt. Du solltest stattdessen Textboxen verwenden.

2. Wie setze ich die MultiLine-Eigenschaft in einer Textbox?
Du kannst die MultiLine-Eigenschaft über die Eigenschaftenleiste des UserForms im VBA-Editor einstellen oder im Code wie folgt:

TextBox1.MultiLine = True

3. Gibt es eine Möglichkeit, die Daten in einer Listbox besser darzustellen?
Eine Option wäre, HTML im Webbrowser-Steuerelement darzustellen, um eine ansprechendere Darstellung zu erreichen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige