我正在使用excel 2007 ...我有以下范围...

      D    E       G   H
  5   1    2       1   1
  6   2    2       1   1


现在我选择范围F8:G9并编写以下公式“ = D5:E6 * 0.2 + G5:H6 * 0.3”,然后按CTRL + SHIFT + ENTER ...即进行矩阵加法,...现在我有了以下结果

       F    G
  8   0.5  0.7
  9   0.7  0.7


现在,我选择此结果范围,并将其单元格格式更改为数字格式,以小数位数为0的数字...。现在,我得到以下结果

     F  G
 8   1  1
 9   1  1


现在我有C#程序,它将读取此范围值...(带有range(...)。value2)...
然后将尝试查找不同的值,但是c#假定它在上述情况1,1,1,1 ...中读取了该值,这在现实中是不正确的。此外,C#程序现在将通过使用equals运算符使用这些不同的值来设置颜色的单元格格式,在这种情况下,所有单元格值均不等于1 ...

在Excel中是否有可能在numberformat之后进行更改,...更改为单元格的实际value2 ...,而不仅仅是外观!因为当我问例如

MsgBox Range("F8").Value2


它显示了0.5,但是由于我更改了单元格格式,因此我想改为1。...我不想舍入Range(“ F8”)。Value2的值,因为它仅适用于特定情况。

我的问题是如何在numberformat之后将F8:G9范围的值更改为numberformat已更改它们的值?

谢谢!!!

最佳答案

使用Text对象的Range属性返回格式化的版本

例如如果单元格A1包含0.77458并被格式化为小数点后一位


Range("A1").Value2 = 0.77458(作为Double值)
Range("A1").Text = 0.8(作为String值)

10-04 23:25
查看更多