• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Wat is het VBA Equivalent van "AFRONDEN.NAAR.BOVEN"

Status
Niet open voor verdere reacties.

PSVSupporter

Gebruiker
Lid geworden
13 aug 2009
Berichten
148
Hoe kan ik afronden.naar.boven in VBA gebruiken?
De functie Fix of Round geven niet het resultaat wat ik zoek, omdat ik op een paar posities achter de komma wil afronden.
 
Even de help-functie gebruiken levert het onderstaande op.

Excel: referentie voor ontwikkelaars
WorksheetFunction.RoundUp, methode
Deze methode rondt de waarde van een getal naar boven af.
Syntaxis

Expressie.RoundUp(Arg1, Arg2)

Expressie Een variabele die een WorksheetFunction-object weergeeft.

Parameters

Naam Vereist/optioneel Gegevenstype Beschrijving
Arg1 Vereist Double Getal - een reëel getal dat u naar boven wilt afronden.
Arg2 Vereist Double Aantal-decimalen - het aantal decimalen waarop u wilt afronden.

Resultaatwaarde
Double

Opmerkingen


AFRONDEN.NAAR.BOVEN heeft dezelfde eigenschappen als AFRONDEN, behalve dat getallen altijd naar boven worden afgerond.
Als aantal-decimalen groter is dan 0 (nul), wordt het getal naar boven afgerond op het aangegeven aantal decimalen.
Als aantal-decimalen gelijk is aan 0, wordt het getal naar boven afgerond op het dichtstbijzijnde gehele getal.
Als aantal-decimalen kleiner is dan 0, wordt het getal links van het decimaalteken naar boven afgerond.


Mvg

Piet
 
Op deze link gevonden.

Nederlands AFRONDEN.NAAR.BOVEN (270)
Deutsch: AUFRUNDEN
Dansk: RUND.OP
English: ROUNDUP
Español: REDONDEAR.MAS
Suomen kilie: PYÖRISTÄ.DES.YLÖS
Français: ARRONDI.SUP
Italiano: ARROTONDA.PER.ECC
Norsk: AVRUND.OPP
Português: ARRED.PARA.CIMA
Svenska: AVRUNDA.UPPÅT
 
Bij mij doet
Code:
    c4 = Round(8.12645, 2)
wat jij wil
 
Als ik de functie RoundUp probeer in VBA, krijg ik de foutmelding "Sub of Function is niet gedefinieerd".

Sub testje()
Debug.Print RoundUp(1 / 4, 0)
End Sub
 
Bij mij doet
Code:
    c4 = Round(8.12645, 2)
wat jij wil

Nee, dit geeft niet het juiste resultaat. In onderstaand voorbeeld, is het resultaat 8.12, terwijl ik als resultaat 8.13 wil hebben.
Code:
    c4 = Round(8.12145, 2)

Heb overigens via een andere weg de oplossing gevonden:
Code:
Function AfrondenNaarBoven(getal As Double, decimalen As Integer) As Double
    If decimalen = 0 Then deler = 1 Else deler = 10 ^ decimalen
    If Int(getal * deler) < getal * deler Then
        AfrondenNaarBoven = (Int(getal * deler) + 1) / deler
    Else
        AfrondenNaarBoven = (Int(getal * deler)) / deler
    End If
End Function

Dit geeft de volgende resultaten
Code:
AfrondenNaarBoven(8.12145,2)         8.13
AfrondenNaarBoven(8.12145,1)         8.2
AfrondenNaarBoven(8.12145,0)         9
AfrondenNaarBoven(8.12145,-1)       10
AfrondenNaarBoven(8.12145,-2)       100
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan