2

我正在使用 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# 程序现在将使用这些不同的值通过使用等号运算符来格式化具有颜色的单元格,在这种情况下,没有一个单元格值等于 1...

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

MsgBox Range("F8").Value2

它向我显示 0.5,但由于我更改了单元格格式,我希望看到 1...我不想四舍五入 Range("F8").Value2 的值,因为它仅适用于特定情况。

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

谢谢!!!

4

2 回答 2

1

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

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

  • Range("A1").Value2= 0.77458(作为Double值)
  • Range("A1").Text= 0.8(作为一个String值)
于 2009-06-23T00:18:51.257 回答
0

格式只是关于如何显示数据的演示问题。如果您想使用四舍五入的值,您应该对实际值进行四舍五入,或者在 Excel 中使用 round 函数,或者在 .net 中使用 Math.Round。

于 2009-06-22T15:06:13.980 回答