vielen Dank für die Aufnahme. Grundsätzlich bin ich kein Neuling in Excel VBA und kann mir häufig mit euren Beiträgen helfen. Leider komme ich aktuell nicht weiter und ich glaube, dass die Lösung hier im Schwarmwissen liegt! (Suche hat nicht geholfen)
Ich möchte selektierte Werte (Mehrfachauswahl möglich) einer Listbox, die auf einem _ Tabellenblatt liegt, auslesen und direkt weiterverwenden, sodass bspw. die selektierten Werte 1,2,3 in einem Word Dokument mit einer Schleife weiterverarbeitet werden können. Der Code hierfür liegt in einem Modul ab und lautet wie folgt:
Sub ...()
On Error Resume Next
If Range("xx").Value = True Then
'Listboxauswahl definieren und in Textmarken einfügen
With Sheets("Eingabe").lbzusSB
For ii = 0 To .ListCount - 1
If .Selected(ii) = True Then
'X steht für Selektion der Listbox
X = .List(ii, 0)
wdDoc.Bookmarks("x" & X).Range.InsertAfter Range("xx").Value
wdDoc.Bookmarks("xy" & X).Range.InsertAfter Range("xy").Value
wdDoc.Bookmarks("xyz" & X & "Einzel").Range.InsertAfter Range("xyz").Value
End If
Next
End With
Else: End If
End Sub
Er gibt mir die selektierten Werte der Listbox aber nicht zurück, sondern sagt: lbzusSB = nothing oder null. Ich vermute es liegt an den Deklarationen bzw. dass die Listbox auf dem Tabellenblatt liegt und ich diese aus einem Modul aufrufen möchte. Wie müsste ich hier die OLEObjekte für das Tabellenblatt setzen, damit er die selektierten Werte erkennt?
Vielen Dank für die Unterstützung!
p.s. wenn ich den Code über eine Userform mit integrierter Listbox laufen lasse, klappt alles wunderbar.