Excel が数値を誤って保存する

Excel が数値を誤って保存する

セルに値を入力すると期待どおりに保存されますが、VBA コードで値を設定すると、正しく保存されません。具体的には、何かの高さを計算し、結果の値が 1.15 でした。数値は正しく表示されますが、セルをクリックすると、実際に保存される数値は 1.14999997615814 です。この数値または条件に基づいて別の数値を使用する別のセルがあります。そのセルには常に実際に保存された数値 (1.14999997615814) が表示されますが、これは正しくありません。これは、政府のエンジニアがレビューしている技術文書用であるため、わずかな偏差でも文書が拒否される原因になります。数値をテキストとして保存する (違いはありません)、保存する前に丸める (違いはありません)、保存する前に単精度または倍精度として計算するなどの方法を試しましたが、Excel の動作に違いはありませんでした。これはすべての値で発生するわけではありませんが、計算結果が 1.15 のときにこの動作が発生します。数値を正しく保存するには、手動で入力するしかありませんが、これでは値を計算する目的がまったく達成されません。何が起こっているのか、また Excel が適切に動作するように強制、強要、または買収するにはどうすればよいのか、どなたかご存知の方はいらっしゃいませんか?

ティア。

答え1

実際に何が問題を引き起こしたのか、まだわかりません。結果を得るために使用したコードについては、ここでは説明しません。要約すると、加算する数値を見つけて加算するだけです。値は (0.0747*2)+(0.25*2)+.05006 で、1.15 になります。唯一機能した修正方法は、結果をテキストとしてセルに割り当て、次のように数値に変換することでした。

    ws.Range("L24").Value = "'" & JobSettings.BrgHeight
    ws.Range("L24").Select
    Selection.NumberFormat = "General"

関連情報