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 

将避免任何舍入或转换问题:

在这里输入图像说明