Inhalt aus mehrzeiliger ListBox in Variable übergeben

DesignedbyJF

Grünschnabel
Hallo an Alle,

ich habe ein Problem. Vielleicht kann mir einer helfen.
Ich möchte mehrere Zeilen aus einer ListBox in eine Variable übergeben. Bisher funktioniert das nur mit der ersten Zeile aus der ListBox. Ich brauche aber alle Zeilen.

Wie funktioniert das?

Bitte helft mir. :(
 
Also jeder Eintrag in der Liste kann über seinen Index angesprochen werden. Hiermit werden alle Werte der Liste ausgelesen und im Debug-Fenster ausgegeben.

Visual Basic:
For a% = 0 To ListBox1.ListCount - 1
    Debug.Print ListBox1.List(a%)
Next a%

Wobei zu beachten ist, das der erste Eintrag nicht den Index 1 sondern 0 hat.

Hoffe das war es was du suchst.
 
Vielen Dank für die Info, aber das funktioniert so nicht. Ich brauch die Einträge in einer Variablen, da ich diese dann in einer Email weiterverarbeiten will. Also wie gesagt, die 1. Zeile wird in die Variable übergeben und die 2. Zeile wird anscheinend ignoriert.
Hier mal der Code den ich habe:

Code:
Dim strListBox1 as String
strListBox1 = ListBox1.ListIndex
 
Du solltest am meinem Beispiel auch nur sehen wie du die einzelnen Zeilen/Einträge aus einem Listenfeld auslesen kannst. Das du sie nicht ins Debug-Fenster ausgeben willst ist mir schon klar.

Hier nochmal ein anderes Beispiel, ohne weiteren Kommentar. Versuche einfach mal selber herauszufinden was da passiert und wie du es für dich verwenden kannst. Dürfte ja nicht so schwer sein.

Visual Basic:
Dim werte()
ReDim werte(ListBox1.ListCount)

For a% = 0 To ListBox1.ListCount - 1
    werte(a%) = ListBox1.List(a%)
Next a%

'das hier nur so nur so als Test
Debug.Print werte(0)
Debug.Print werte(1)
Debug.Print werte(2)
 
Danke für die Hilfe. Mit dem o.g. Code kann ich jetzt jede Zeile aus der ListBox in eine Variable übergeben. Gibt es auch eine Möglichkeit ALLE Zeilen (die jedesmal unterschiedlich viele sind) in EINE Variable zu übergeben? Ich hab jetzt schon ne Weile probiert aber ich finde keine Lösung.
 
Im obigen Beispiel sind die Einträge der Liste eigentlich alle in einer Variablen, nur das es halt ein Array ist.

Wenn du wirklich alle Einträge zu einem Wert kombinieren und an eine Variable übergeben willst, dann mache es so:

Visual Basic:
Dim werte As String

werte = ""

For a% = 0 To ListBox1.ListCount - 1
    werte = werte & ListBox1.List(a%)
    If a% + 1 < ListBox1.ListCount Then werte = werte & " - "
Next a%

Damit werden alle Einträge der Liste immer durch ein "-" getrennt, sieht dann in etwa so aus:

"Eintrag 1 - Eintrag 2 - Eintrag 3 - Eintrag 4"
 

Neue Beiträge

Zurück