2009-06-19 2 views
1

Excel 2007에서 C#을 사용하고 있습니다. 나는NumberFormat은 작동하지만 값은 여전히 ​​다릅니다.

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

값을 Integer로 변환하면 가장 가까운 정수로 반올림됩니다.

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