Mal ein ansatz
17.06.2013 14:27:57
JACKD
Mit sicherheit einer der umständlichsten
und, aufgrund der sich stetig ändernden Anforderungen womöglich auch falsch
Grüße
Sub BlödeRunden()
Dim wert1 As Long, wert2 As Long
With Worksheets("Tabelle1")
wert1 = .Cells(1, 1).Value
wert2 = .Cells(2, 1).Value
wertende1 = Right(wert1, 2)
wertende2 = Right(wert2, 2)
Select Case wertende1
Case Is = "00"
wert1 = wert1
wert2 = WorksheetFunction.Ceiling(wert2, 100)
Case Is = "25"
Select Case wertende2
Case Is = "00"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = wert2
Case Is = "25"
wert1 = WorksheetFunction.Ceiling(wert1, 50)
wert2 = WorksheetFunction.Ceiling(wert2, 50)
Case Is = "50"
wert1 = WorksheetFunction.Ceiling(wert1, 50)
wert2 = wert2
Case Is = "75"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = WorksheetFunction.Ceiling(wert2, 100)
End Select
Case Is = "50"
Select Case wertende2
Case Is = "00"
wert1 = wert1
wert2 = WorksheetFunction.Ceiling(wert2, 50)
Case Is = "25"
wert1 = wert1
wert2 = WorksheetFunction.Ceiling(wert2, 50)
Case Is = "50"
wert1 = wert1
wert2 = wert2
Case Is = "75"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = WorksheetFunction.Ceiling(wert2, 100)
End Select
Case Is = "75"
Select Case wertende2
Case Is = "00"
wert1 = WorksheetFunction.Ceiling(wert1, 50)
wert2 = wert2
Case Is = "25"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = WorksheetFunction.Ceiling(wert2, 100)
Case Is = "50"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = WorksheetFunction.Ceiling(wert2, 100)
Case Is = "75"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = WorksheetFunction.Ceiling(wert2, 100)
End Select
End Select
'MsgBox wert1 & " - " & wert2 & " - " & wert1 + wert2
.Cells(1, 2).Value = wert1
.Cells(2, 2).Value = wert2
.Cells(3, 2).Value = wert1 + wert2
End With
End Sub