NumberFormat работает, но значения по-прежнему разные - PullRequest
1 голос
/ 19 июня 2009

Я использую C # для работы в Excel-2007. У меня есть код ниже

   object mis = Type.Missing;
   Excel.Workbook wb = (Excel.Workbook)Globals.ThisAddIn.GetActiveWorkbook();
   Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets.Add(mis, mis, mis, mis);
   Excel.Range range = (Excel.Range)ws.get_Range("A1", "HM232");
   range.Formula = "Sheet4!A1:HM232*0.56+Sheet5!A1:HM232*0.45";
   range.NumberFormat = "0";

это правильно показывает все ячейки как целые десятичные числа без каких-либо десятичных точек ... но если я запрашиваю значение в, скажем, ячейке G5, я вижу 1, но когда я делаю следующее

  MsgBox Range("G5").Value2

показывает 0,933333222, как сделать так, чтобы Value2 также изменялось на округленное значение ....?

1 Ответ

1 голос
/ 20 июня 2009

Вы можете просто преобразовать значение в целое число, которое бы гарантировало его округление до ближайшего целого числа, например

MsgBox Convert.ToInt32(Range.("G5").Value2)
...