mein Problem:
ich habe drei Spalten "SWS", "Cp", "Note". Nun sollen solange die kleinsten Noten zusammengezählt werden, bis die Summer alle CP größer oder gleich 18 ist. Wie kann ich das mit dem "Solange" realisieren?
Sub Noten()
Dim note, z1, z2, s As Integer
' Tabellenbereich nach Noten aufsteigend sortieren
anz = Cells(Rows.Count, 3).End(xlUp).Row
Range("A1:C" & anz).Select
Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
CP = 0
Do While CP < 19 ' Schleife solange Summe CP kleiner oder gleich 18
For z = 2 To anz ' Anfangszeile 2 setzen ; Endbedingung: eingetragene Noten in Spalte C
note = note + Cells(z, 3) ' Summierung der Noten
CP = CP + Cells(z, 2) 'Summierung der CP
If CP > 18 Then ' CP Summe überprüfen
Exit For ' Wenn Bedingung erfüllt, FOR-Schleife verlassen
End If
Next 'Nächste Zeile bis Endbedingung
Loop ' Schleifendurchlauf bis Bedingung erfüllt
MsgBox "Notensumme:" & note 'Ergebnis ausgeben
End Sub