Echter, de code negeert decimalen en retourneert onnauwkeurige resultaten (vooral als het om kleine waarden gaat).
Om het te testen heb ik een aantal vetgedrukte cellen gevuld met een waarde van "0.5" of minder. De code behandelde ze allemaal als "0" en resulteerde dus in een berekening van nul. Toen ik echter waarden van "0.51" en hoger invoerde, werden ze allemaal naar boven afgerond naar "1", waardoor het resultaat - opnieuw - volledig verkeerd werd berekend.
Heeft iemand hier een oplossing voor? Code volgt.
Functie SumBold(WorkRng As Range)
'Update 20131202'
Dim Rng als bereik
Dim xSom zo lang
Voor elke Rng In WorkRng
Als Rng.Font.Bold Dan
xSom = xSom + Rng.Waarde
End If
Volgende
SomVet = xSom
End Function
Bedankt voor de feedback, ik heb de code in het artikel al bijgewerkt.
Gebruik de onderstaande code:
Function SumBold(WorkRng As Range)
'Update 20220516
Dim Rng As Range
Dim xSum As Double
For Each Rng In WorkRng
If Rng.Font.Bold Then
xSum = xSum + Rng.Value
End If
Next
SumBold = xSum
End Function
Als je nog vragen hebt, laat het me dan gerust weten.
Amanda
Pagina:
1
Er zijn nog geen reacties op dit bericht geplaatst.
Log in om een reactie te plaatsen
Je moet ingelogd zijn om een reactie te kunnen plaatsen. Meld u aan met behulp van het formulier aan de rechterkant of registreer een account als u hier nieuw bent. Registreer hier "