Gruppe
Dialog
Bereich
ListBox
Thema
Aus mehrspaltiger UserForm-ListBox Werte der 1. Spalte auslesen
Problem
Wie kann ich aus einer mehrspaltigen ListBox alle markierten Werte der ersten Spalte in ein Tabellenblatt auslesen?
Lösung
Geben Sie den nachfolgenden Code in das Klassenmodul der UserForm ein.
StandardModule: basMain
Sub CallForm()
frmAuslesen.Show
End Sub
ClassModule: frmAuslesen
Private Sub cmdAbbrechen_Click()
Unload Me
End Sub
Private Sub cmdAuslesen_Click()
Dim iCounter As Integer, iRow As Integer
Columns(1).ClearContents
For iCounter = 1 To lstAuslesen.ListCount - 1
If lstAuslesen.Selected(iCounter) Then
iRow = iRow + 1
Cells(iRow, 1) = lstAuslesen.List(iCounter, 0)
End If
Next iCounter
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim arr(1 To 20, 1 To 2) As Variant
Dim iRow As Integer
For iRow = 1 To 20
arr(iRow, 1) = iRow
arr(iRow, 2) = "Element " & iRow
Next iRow
lstAuslesen.List = arr
End Sub