2012-01-10 15 views
1


ここでは、簡単なExcelの自動化を行っています。私のコードのどこかに、CellType(カスタムの列挙型)があるかどうかをチェックするスイッチブロックがあり、これに基づいてフォーマットが行われます。
は、ここに私のコードです:

Range.NumberFormatにデータをそのまま置く方法を教えてください。

  switch (celltype) 
      { 
       case CellType.String: 
        cellRangeFormat = cellrange.get_Range(cell, cell); 
        cellRangeFormat.NumberFormat = ????; 
        break; 
       case CellType.Numeric: 
        cellRangeFormat = cellrange.get_Range(cell, cell); 

        cellRangeFormat.NumberFormat = ";0_);[Red](0)"; 
        break; 
       case CellType.Percentage: 
        cellRangeFormat = cellrange.get_Range(cell, cell); 
        cellRangeFormat.NumberFormat = "#,0.00 %"; 
        break; 
       case CellType.Decimal: 
        cellRangeFormat = cellrange.get_Range(cell, cell); 
        //cellrangeformat.NumberFormat = "#,0.00"; 
        cellRangeFormat.NumberFormat = "#,##0.00_);[Red](#,##0.00)"; 
        break; 
       default: 
        break; 
      } 


今の問題は、一部の列の値が「000」である、ということである、と私は文字列としてCellTypeを指定しても、Excelが値をフォーマットし、セルを表示していました空の。セルを選択すると、セルに値0が表示されます。文字列であってもそのまま貼り付けるだけで、値の書式設定を中止したいと思っています。
どうすればいいですか?

答えて

5

"@"。値を設定する前にに設定する必要があります。

これは実際にそれを文字列として考えるようにも設定しています(したがって、数式のセルで算術演算を行うことはできません。左揃えなどになります)。

+0

Works ..ありがとうございます。 – Galilyou

+0

そして、私にとっては、値を設定する前にしなければなりませんでした。 – Galilyou

関連する問題