まとまった計算をするのにVBAは便利なので、ちょっとした時に書きます。
ですが、がっつりVBAで開発すること自体は少ないので細かなところではまりました。
はまったのは round 関数
数式のround関数はround_half_upなのですが、
VBAのround関数はround_half_evenなのです。
VBA内で数式のroundと同じ計算をしたい場合は、WorksheetFunction.Roundを使うことになります。数式の間隔で関数を使う場合はWorksheetFunctionを常に使っていったほうがいいのかなと思いました。
[計算結果]
vbaのroundは、roundする桁の左側の数値が偶数の場合は切り下げになります。
意外と気が付きずらいのがさらにつらいです。