ExcelのVBAを使用してデータの編集を行っている。
もともとExcelファイルで貰ったデータでこれをシステムに合うように編集する。
例えばExcelファイルでは千円単位でデータが作成されているが、システム上では円単位なので1000を掛けたりといった編集を行う。
もとのファイルは多少の式も入っており、見ただけではわからないが小数点以下の端数もデータとしてはある。
ただし必要なのは見てわかる数字だけ。隠されている端数は使用しない。
編集する際にはこの端数に注意が必要だ。
例えば以下のようにセルの値を取得した場合、表示されていない端数も取得される。
val = ASheet.Cells(row, col).Value
端数がある状態で、千円単位から円単位にするため1000を掛けたりすると誤差が生まれてしまう。
Excelで表示されている通りに値が取得出来れば良いのだが、出来るかどうかわからない。
とりあえずRoundで対処することにした。
Round関数は以下の2通りを選択出来る。
- Excelのワークシート関数Round
- "算術型"の丸め処理
- VBAのRound関数
- "銀行型"の丸め処理
Excelで表示されている通りにするのが目的なのでワークシート関数を使用するのが正しそうだ。
関連 :
消費税計算で四捨五入
消費税計算で四捨五入
0 件のコメント:
コメントを投稿