Wie kann ich in VBA einen Betrag auf die nächsten 5 (Euro) aufrunden ??? (Also aus 5,2345 wird 5,5)
Danke für Eure Hilfe!
Tobi
Gruß
Micha
versuche es mit Label1 = Format(Range("a1"), "0.00")Gruß
Es wir m.E. kaufmännisch gerundet.
Gruß
Mike
http://www.ms-office-forum.de/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=2&t=000878
gruß richi
Wenn Du "normal" rundest, dann wird kaufmännisch gerundet.
Wenn dann das Ergebnis kleiner der Ausgangszahl ist, dann war
der Ausgangswert zwischen x,0 und x,4999999999999. Also musst Du in dem Fall 0,5 hinzuaddieren.
Ist der gerundete Betrag größer, war der Ausgangsbetrag min.
x,5 - das heist, du bist für alle Werte größer als x,5 bereits am Ziel.
Nur die x,5 musst Du noch getreent behandeln.
Also:
Sub rundeauf5()
Dim a, b, c As Single
Dim d As Integer
'a = DeineZahl
'b = der neue Wert
'c und d = Hilfsgrößen
a = "5,733" ' zum testen!
c = Application.WorksheetFunction.RoundDown(a, 0) 'schneidet alles hinter dem Komma ab
c = a - c 'macht aus x,mmmm --> 0,mmmmm
If c = "0,5" Then
b = a
Else
d = Application.WorksheetFunction.Round(a, 0)
If d > a Then
b = d
Else
b = d + "0,5"
End If
End If
End Sub
Viel Spaß!!