Mit diesem Code wähle ich gewisse Zeilen in einer Listbox per Multiselect aus.
Die ausgewählte Zeile wird dann aus der Listbox in eine Tabelle "Teilnahme" eingelesen per CommandButton eingelesen und sortiert.
Private Sub CommandButton1_Click()
Dim wks As Worksheet
Dim lngI As Long
Dim lngZ As Long
Dim intS As Integer
Set wks = Worksheets("Teilnahme")
lngZ = wks.Cells(Rows.Count, 1).End(xlUp).Row + 1
With Me.ListBox1
For lngI = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(lngI) Then
For intS = 0 To 5
wks.Cells(lngZ, intS + 1) = .List(lngI, intS)
Next
lngZ = lngZ + 1
End If
Next
End With
Columns("B:B").Select
ActiveWorkbook.Worksheets("Teilnahme").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Teilnahme").Sort.SortFields.Add Key:=Range("B1") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Teilnahme").Sort
.SetRange Range("A2:AF70")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Mache ich jetzt die Userform zu, mache Sie wieder auf, um weitere Teilnehmer im Multiselect auszuwählen, werden mir dieselben nocheinmal angezeigt. Diese könnte ich dann noch mal auswählen und wieder in die Tabelle "Teilnahme" übernehmen.Ich möchte, dass wenn ich die Teilnehmer ausgewählt habe und diese in der Tabelle "Teilnahme" stehen, nicht mehr in der Listbox auftauchen, bzw. irgendwie gekennzeichnet sind, dass diese schon ausgewählt sind.
Ich habe mal eine Datei zum besseren Verständnis angehangen. Es handelt sich um die Userform "Auswahl_Ausbildungsbörse", in der per Multiselect ausgewählt wird und in die Userform "Teilnehmer_Ausbildungsbörse" eingefügt wird.
https://www.herber.de/bbs/user/91921.xls
Kein Passwort.
Danke schonmal.