そのため、1 日の大半を VBA クラス モジュールのデバッグに費やしていたところ、懸念すべき現象に遭遇しました。
メインのスプレッドシートには、小数点以下 9 桁の精度で「通貨」として書式設定されたセルがあります。私の VBA クラスには、インスタンス化の際にそのセル値を取る属性 (double) があります。つまり、
myClass.loanDefault_7 = Range("loanDefaults")(1,7)
ただし、割り当て後に myClass.loanDefault_7 に格納されている値を確認すると、小数点以下 4 桁の精度しかありません。
私の質問は、VBA が自動的に (私の許可なしに) この値を切り捨てるのはなぜですか? なぜこのようなことが起こるのか、また将来どのように防ぐことができるのかを理解したいと思っています。
どんな助けでも大歓迎です!