Dog koden ignorerer decimaler og returnerer unøjagtige resultater (især når der er tale om små værdier).
For at teste det udfyldte jeg et antal modificerede celler med en værdi på "0.5" eller mindre. Koden behandlede dem alle som "0" og resulterede således i en beregning på nul. Men da jeg indtastede værdier på "0.51" og derover, blev alle rundet op til "1", hvilket - igen - helt fejlberegnet resultatet.
Er der nogen der har en rettelse til dette? Kode følger.
Funktion SumFed (WorkRng As Range)
'Opdatering 20131202
Dim Rng Som Range
Dim xSum så længe
For hver Rng I WorkRng
Hvis Rng.Font.Fed Så
xSum = xSum + Rng.Value
End If
Næste
SumFed = xSum
End Function
Tak for feedback, jeg har allerede opdateret koden i artiklen.
Brug venligst koden nedenfor:
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
Hvis du har yderligere spørgsmål, så tøv ikke med at give mig besked.
Amanda
Side:
1
Der er endnu ingen svar på dette indlæg.
Log ind for at sende et svar
Du skal være logget ind for at kunne sende et svar. Log ind ved hjælp af formularen til højre, eller registrer en konto, hvis du er ny her. Tilmeld dig her »