Microsoft Excel

Herbers Excel/VBA-Archiv

Ergebnis Runden

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

GrußformelHomepage


  

Betrifft: So einfach? Oh man! Danke von: Markus
Geschrieben am: 25.07.2014 08:48:20


Gruß


 

Beiträge aus den Excel-Beispielen zum Thema "Ergebnis Runden"