Вопрос

я использую 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

теперь у меня есть программа С#, которая будет читать значения этого диапазона... (с диапазоном (...).value2)...затем попытается найти отдельные значения, но С# предполагает, что он читает приведенный выше случай 1,1,1,1...что не соответствует действительности.более того, программа C# теперь будет использовать эти отдельные значения для форматирования ячеек с цветами с помощью оператора равенства, и в этом случае ни одно из значений ячеек не равно 1...

возможно ли в Excel внести это изменение после числового формата,...к реальному значению2 ячейки...но не только внешний вид!потому что когда я спрашиваю, например

MsgBox Range("F8").Value2

он показывает мне 0,5, но поскольку я изменил формат ячейки, я хочу вместо этого видеть 1...Я не хочу округлять значение Range("F8").Value2, поскольку оно будет работать только в конкретном случае.

мой вопрос в том, как можно изменить значения диапазона F8: G9 после числового формата на те, которые числовой формат их изменил????

Спасибо!!!

Это было полезно?

Решение

Использовать Text собственность Range объект для возврата отформатированной версии

напримересли ячейка A1 содержит 0,77458 и отформатирована до одного десятичного знака, то

  • Range("A1").Value2 = 0,77458 (как Double ценить)
  • Range("A1").Text = 0,8 (как String ценить)

Другие советы

Форматирование — это всего лишь вопрос представления того, как отображаются данные.Если вы хотите работать с округленными значениями, вам следует округлить фактическое значение либо в Excel с помощью функции округления, либо в .net с помощью Math.Round.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top