これを説明するのに苦労しています。次の関数は、ワークシートの数式として使用されています。「空」という値は、セルが空であったため、値がないことを意味します。値 {empty, empty, 0.8, 0.2} を指定すると、次の関数は5.55111512312578E-17 のような壁の値を返すことがあります。デバッガーでは、ParamArray の最後の値 (この場合は 0.2) が処理されるまで、すべてが正しいように見えます。何かご意見は?
Private Function getOvertimeEP(ParamArray epAllocations() As Variant)
Dim overtimeEP As Double
overtimeEP = -1
For Each nextVal In epAllocations
overtimeEP = overtimeEP + nextVal
Next
If overtimeEP < 0 Then
overtimeEP = 0
End If
getOvertimeEP = overtimeEP
End Function