我正在尝试制作一个VBA模块来对除了具有删除线的单元格的单元格求和。我在下面使用的代码工作得很好,但不会计算小数。例如,'5 + 5.50'将等于10.00
我希望代码将小数值保持最多两位小数,以便上面的总和为10.50
。
Public Function ExcStrike(pWorkRng As Range) As Long
'Update 20140819
Application.Volatile
Dim pRng As Range
Dim xOut As Long
xOut = 0
For Each pRng In pWorkRng
If Not pRng.Font.Strikethrough Then
xOut = xOut + pRng.Value
End If
Next
ExcStrike = xOut
End Function
答案 0 :(得分:4)
为了回答:
Long数据类型包含整数。
每个OP:
解决方案是改变“长期”。单身'单身'
我想我应该添加一些关于Single
的细节保持签名的IEEE 32位(4字节)单精度浮点数,范围从-3.4028235E + 38到-1.401298E-45为负值,从1.401298E-45到3.4028235E + 38为正值。单精度数字存储实数的近似值。