Hi Daniel,
schlage vor, wir bleiben beim Du. Ist in Foren so der Usus :)
Zum Thema:
Wenn Du aus einem allg. Modul zugreifen möchtest, muss das wie folgt referenziert werden.
ThisWorkbook.Worksheets("Auswahl").OLEObjects("ListBox8").Object
Für Deine Prozedur dann (ungeschminkt):
Sub Schaltfläche11_Klicken()
Dim lListBox As Long
Dim lZeile As Long
With ThisWorkbook.Worksheets("Auswahl")
.Range("W4:W" & .Cells(Rows.Count, 3).End(xlUp).Row).ClearContents
For lListBox = 0 To ThisWorkbook.Worksheets("Auswahl").OLEObjects("ListBox8").Object.ListCount - 1
If ThisWorkbook.Worksheets("Auswahl").OLEObjects("ListBox8").Object.Selected(lListBox) Then
lZeile = lZeile + 1
.Range("W" & lZeile).Value = ThisWorkbook.Worksheets("Auswahl").OLEObjects("ListBox8").Object.List(lListBox, 0)
End If
Next lListBox
End With
End Sub
Hier empfiehlt sich der Einsatz einer Objektvariablen, um den Code kürzer bzw lesbarer zu halten.
Sub Schaltfläche11_Klicken()
Dim lListBox As Long
Dim lZeile As Long
Dim oListBox As MSForms.ListBox '*** für die Intellisense
Set oListBox = ThisWorkbook.Worksheets("Auswahl").OLEObjects("ListBox8").Object
With ThisWorkbook.Worksheets("Auswahl")
.Range("W4:W" & .Cells(Rows.Count, 3).End(xlUp).Row).ClearContents
For lListBox = 0 To oListBox.ListCount - 1
If oListBox.Selected(lListBox) Then
lZeile = lZeile + 1
.Range("W" & lZeile).Value = oListBox.List(lListBox, 0)
End If
Next lListBox
End With
End Sub
Hinweis:
Fehlerbehandlung darf hier nicht vergessen werden. Wenn beispielsweise ListBox8 nicht gefunden werden kann o.ä.
gruß
Marco
|