534 Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

ich habe in einer Userform zwei Listboxen und mehrere ChekBoxen.
Listbox2 gestattet die Auswahl eines Planungsmonats, der für weiteren Berechnungen.
Listbox1 beinhaltet eine Auswahl von Mitarbeitern.
Die Berechnungen werden durch Auswerten der Checkboxen vorgenommen.

Ich rufe die UserForm auf wähle den Planungsmonat und einen Mitarbeiter in der jeweiligen Listbox, dann nehme ich die Eintragungen in den Checkboxen vor.. Mit dem CommandButton löse ich die Berechnung aus.

Ich möchte eine Möglichkeit schaffen, nacheinander mehrere Mitarbeiter durch Auswahl in der Listbox1 zu bearbeiten. Dafür habe ich eine do while-Schleife installiert, die so aber nicht funktioniert.

[code]Private Sub CommandButton1_Click()

strFrage = vbYes
Do While strFrage = vbYes
    strName = UserForm1.ListBox1
    
    For i = 1 To 28
        If UserForm1.Controls("CheckBox" & i).Value = True Then
            iRow = Columns(1).Find(CDate(UserForm1.Controls("CheckBox" & i).Caption)).Row
            Cells(iRow, 2) = strName
         End If
    Next
    
    strFrage = MsgBox("Sollen weitere Namen bearbeitet werden?" & vbLf & vbLf, vbYesNo, "Dienstplan")
Loop
Unload Me
End Sub[/code]

Weiß jemand wie's geht? Danke für eurer Tipp.
Gruß A.

2 Antworten

0 Punkte
Beantwortet von
Hallo,
da wäre eine [url=http://www.xup.in/]Musterdatei[/url] sehr hilfreich.

Gruß
fedjo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hall fedjo,
ja das klingt alles ganz kompliziert...ich weiß.

Ich habe mir aber so geholfen, daß ich einen zusätzlichen CommandButton eingeführt habe, den ich nach jeder Eingabe eines neuen Mitarbeiter-Namens und der entsprechenden Häkchen in den Checkboxen aktiviere. Dabei setze ich die Checkboxen zurück. Die UserForm bleibt offen, so daß ich den nächsten Mitarbeiter bearbeiten kann.
Abschließend aktiviere ich dann einen weiteren CommandButton um die Berechnungen auszuführen und das Programm zu beenden.
Klappt soweit ganz gut.
Danke und Gruß A.
...