![]() |
Betrifft: Ergebnis Runden
von: Markus
Geschrieben am: 25.07.2014 08:36:41
Hallo!
Ich habe untenstehende Berechnung aufgebaut.
Mit .Cells(i, j + 3).Value = WorksheetFunction.RoundUp(.Cells(i, j + 3).Value,0)
habe ich schon ein Aufrunden auf eine ganze Zahl eingebaut.
Aber es ist nötig das auf die nächste höhere Zehnerstelle aufgerundet wird.
Bsp: 301 --> 310; 1284 --> 1280
Wie kann man dies in den Code einbauen?
Gruß
Markus
https://www.herber.de/bbs/user/91711.xlsm
Sub Berechnungen() Dim i As Integer Dim j As Integer Dim lngYear As Long Dim faktor1 As Double Dim faktor2 As Double faktor1 = Worksheets("04_Monitoring").Cells(7, 22) / 100 'angenommene Konstruktionsleistung aus Zelle V7 faktor2 = Worksheets("04_Monitoring").Cells(8, 22) / 100 'angenommene Preissteigerung aus Zelle V8 i = 5 'Zeile 5 j = 5 'Spalte E With Worksheets("04_Monitoring") Do Until .Cells(i, j) = "" lngYear = (Year(Now) - Year(Cells(i, j + 2))) 'Berechnung zwischen Heute und Datum Preis alt Spalte G in Anzahl Jahre .Cells(i, j + 3).Value = .Cells(i, j + 1) * faktor1 'Rechnung Spalte H .Cells(i, j + 3).Value = WorksheetFunction.RoundUp(.Cells(i, j + 3).Value,0) 'Wert Aufrunden .Cells(i, j + 4).Value = .Cells(i, j) * .Cells(i, j + 1) * ((1 + faktor2) ^ lngYear) 'Rechnung Spalte I .Cells(i, j + 4).Value = WorksheetFunction.RoundUp(.Cells(i, j + 4).Value, 0) 'Wert Aufrunden .Cells(i, j + 5).Value = .Cells(i, j + 3) * ((1 + faktor2) ^ lngYear) 'Rechnung Spalte J .Cells(i, j + 5).Value = WorksheetFunction.RoundUp(.Cells(i, j + 5).Value,0) 'Wert Aufrunden i = i + 1 Loop End With End Sub
![]() ![]() |
Betrifft: AW: Ergebnis Runden
von: Hajo_Zi
Geschrieben am: 25.07.2014 08:37:31
nicht 0 sondern -1
![]() ![]() |
Betrifft: So einfach? Oh man! Danke
von: Markus
Geschrieben am: 25.07.2014 08:48:20
Gruß
![]() |