Wie kann man in Excel einen Wert aus einem Listenelement in eine Zelle schreiben?
Ich habe ein Listenelement, das drei Elemente "Köln, Berlin, München" enthält.
Nachdem auf ein Element geklickt wird, soll es in Zelle E5 angezeigt werden. Mehrauswahl soll möglich sein. Die Einträge sollen durch ein Komma getrennt sein. Nachdem ein Element abgewählt wurde, soll es nicht mehr in Zelle E5 stehen.
Weiß jemand, wie man das umsetzen kann? Ich kenne mich nicht VB nicht aus...
1 Antwort
Makro;
Sub Listenfeld1_BeiÄnderung()
Dim lst As Excel.ListBox
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
Set lst = ws.ListBoxes(1)
wert = lst.Selected
For i = 1 To 3
Range("H" & i + 2) = wert(i)
Next i
End Sub
Formel in G8:
{=TEXTVERKETTEN(", ";1;WENN(H3:H5;G3:G5;""))}

ich meinte, ob in der Zeile nicht etwas fehlt, da "wert" nicht als Dim definiert ist. Ich bekomme in dieser Zeile eine Fehlermeldung.
Da ich kein OPtion Explicit verwenden und meine Variablen nur sehr selten deklariere sollte das nichts ausmachen. Welche Excelversion hast du?
Ist die Listbox als Formularsteuerelement oder als AcitveX drin?
Habe Excel 2016. Die Listbox ist als ActiveX drin.
OK wieder was dazu gelernt
Sub marine()
With ThisWorkbook.Worksheets("Tabelle1")
For lListBox = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(lListBox) Then
lZeile = lZeile + 1
.Range("C" & lZeile).Value = ListBox1.List(lListBox, 0)
End If
Next lListBox
End With
End Sub
Sollte dir die Werte in C1:C3 schreiben hier kannst du es dann auslesen.
Als Formularsteuerelement hat es funktioniert :)
Es ist sehr nett von dir, dass du mir geholfen hast. Vielen Dank :)
Und der zuletzt geschrieben Code funktioniert mit dem Active X
Danke für deine Antwort! Fehlt in dieser Zeile nicht etwas: wert = lst.Selected ?
wert ist nicht definiert