ich habe folgendes Makro für eine Togglebox:
Private Sub ToggleButton4_Click()
Call Blatt_entsperren
If CBool(ToggleButton4.Value) Then 'es gibt nur Wahr oder Falsch, daher keine weitere _
Bedingung nötig. Wahr = Ausführung, Falsch = Else
ToggleButton4.BackColor = &H8000000F
ToggleButton4.Caption = "alle Einträge anzeigen"
Workbooks("Schulungsplan 2.0.xlsm").Activate
Worksheets("Ausbildungskatalog").Activate
Comboboxen1.Show
Else
ToggleButton4.BackColor = &H8000000F
ToggleButton4.Caption = "Zielgruppe/Mitarbeiter wählen"
ActiveSheet.ListObjects("Tabelle2").Range.AutoFilter Field:=29
ActiveWorkbook.Worksheets("Ausbildungskatalog").Range("E1").ClearContents
Range("B1").Select
Call Blatt_sperren
End If
End Sub
Damit wird der folgende Code ausgeführt:
Option Explicit
Private Sub CommandButton1_Click()
Call Blatt_entsperren
'*** Unnötige Spalten ausblenden
Application.Run "'Schulungsplan 2.0.xlsm'!Tabelle2.ToggleButton3_auf_falsch"
'*** Zeilenhöhe anpassen auf 30
Application.Run "'Schulungsplan 2.0.xlsm'!Tabelle2.ToggleButton2_auf_falsch"
'*** Wert aus Combobox in Tabele übernehmen und filtern
ActiveWorkbook.Worksheets("Ausbildungskatalog").ListObjects("Tabelle2").Range.AutoFilter _
Field:=29, Criteria1:= _
"=*" & ComboBox1.Value & "*", Operator:=xlAnd
'*** Tabelle nach Datum aufsteigend sortieren
ActiveWorkbook.Worksheets("Ausbildungskatalog").ListObjects("Tabelle2"). _
Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Ausbildungskatalog").ListObjects("Tabelle2"). _
Sort.SortFields.Add Key:=Range("Tabelle2[[#All],[am]]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
'*** Wert aus Combobox in Zelle E1 übernehme
ActiveWorkbook.Worksheets("Ausbildungskatalog").Range("E1").Value = ComboBox1.Value
'*** Formular schließen und Zelle B1 anwählen
Unload Me
ActiveWorkbook.Worksheets("Ausbildungskatalog").Range("B1").Select
Call Blatt_sperren
End Sub
Private Sub CommandButton2_Click()
'*** Formular ohne Änderung schließen
Unload Me
'*** ToggleButton4 auf falsch zurückstellen
Application.Run "'Schulungsplan 2.0.xlsm'!Tabelle2.ToggleButton4_auf_falsch"
End Sub
Private Sub UserForm_Initialize()
'*** Formular starten und Werte aus RowSource in Liste einlesen
ComboBox1.RowSource = "Zuordnung_FV!A1:A150"
ComboBox1.Text = "bitte Zielgruppe auswählen" 'Text für die Startanzeige
End Sub
Kurz gesagt wird damit aus einer Namensliste per Dropdown eine Name ausgewählt und in ein Arbeitsblatt "Ausbildungskatalog" in den Autofilter gesetzt. Es stehen dann in einer Liste nur die Einträge des jeweiligen Mitarbeiters.
Nun habe ich folgendes Problem. Ich möchte für 90 Mitarbeiter die Liste der Namen nach und nach durchgehen. Jeder Mitarbeiter soll aufgerufen werden, die Liste für ihn unter seinem Namen gespeichert werden und dann soll der nächste Mitarbeiter aufgerufen werden. Das müsste doch mit einer Schleife gehen. Ich weiß nur leider nicht wie.
Wäre toll, wenn mir jemand helfen kann.
Ach ja, hier noch eine Info:
Die Mitarbeiternahmen stehen auf dem Blatt Zuordnung_FV in den Zellen A38:A128.
Gruß
Frank