Hallo zusammen,
ich soll von der Uni aus folgendes in Excel VBA bearbeiten:
Eine Notenliste beinhaltet aus vers. Teilleistungen zusammengesetzte Noten mit max. 3 Nachkommastellen. Die Noten sollen nach der ersten Dezimalstelle abgeschnitten werden, sprich auf eine Nachkommastelle abgerundet werden. Es wurde explizit gesagt, dass ich keine Prozedur und auch nicht die Abrunden-Funktion von Excel selbst verwenden darf, sondern eine Function erstellen soll. Mein Problem ist, dass ich weder genau weiß, ob meine Function richtig ist, noch warum sie nicht durchgeführt wird, wenn ich das Makro aktiviere. Kann mal jemand über meinen Code drüberschauen?
Die zusammengesetzten, berechneteten Noten stehen im Worksheet Modulabschlussnoten in den Zellen E4 bis E103 und die abgeschnittenen sollen direkt daneben in F4 bis F103 eingetragen werden. Es sind nur Noten von 0.7, 0.8, ..., 4.8, 4.9, 5.0 möglich, deswegen war meine Überlegung, eine Schleife so oft durchführen zu lassen, bis die berechnete Note durch 0.1 teilbar ist. Falls nicht, soll die Note um 0.001 nach unten zu korrigiert und die Schleife erneut ausgeführt werden, und das für jeden Wert.
Sub Noterunden()
End Sub
Public Function Rundungsfunktion(Gerundete_Note As Double) As Double
Dim Gerundete_Note As Double
Dim zielfeld As Range
Set zielfeld = Worksheets("Modulabschlussnoten").Range("F4:F103")
Dim y As Double
Set y = 0.1
Dim liste() As Integer
Set liste(44) = [7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50]
For Each wert In Worksheets("Modulabschlussnoten").Range("E4:E103").Value
If wert / y = liste() Then
Set zielfeld = wert
End If
Else
wert = wert - 0.001
Return
Next wert
End Function
|