Excel VBA值存储/转换问题
我有一个简单的表格:
总的百分比使用以下公式:
= SUMIF($ Z $ 23:$ $ AL 23, “%”; Z24:AL24)
我基本上总结了一个值,如果它的列标题是'%'。 然后我有一个VBA过程,简单地通过这些百分比循环,并检查它们是否等于1,如下所示:
If Cells(iRowLoop, 39).Value <> 1 Then ' show user an error message and stop procedure
问题是,第一个100%单元格(价值18 245)声称,它的价值不等于1.我尝试了以下事情:
- 乘以10 000 000的价值,但没有其他内容,只是简单的'1'
- 将值存储为双重值,如果有的话,该值不是“100.00000001”,而是再次返回值“1”。
我也检查了绿色百分比是否包含整数(他们是手动用户input),他们这样做,所以没有办法如何结果可能是其他任何东西,但纯100%…但excel仍然告诉我(VBA程序)第一个数字不是100%。
如何解决这个问题呢? 任何帮助,将不胜感激。
如果单元格实际显示 “100%”,则:
Sub OneHundredPercent() If ActiveCell.Text = "100%" Then MsgBox "100%" End If End Sub
将避免任何舍入或转换问题: