- ベストアンサー
VBAなんですが・・・うまく計算されません。
ローレル指数の計算がしたいのですが、 体重÷身長^3×10^7 が公式で、 エクセルのセル、 B2に身長、B3に体重を入力します。 私は、 cells(4,4)=cells(2,3)/cells(2,2)^3*10^7 と入力したけれご、エラーです。 どこがどう間違ってるのでしょうか・・・?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> cells(4,4)=cells(2,3)/cells(2,2)^3*10^7 > と入力したけれご、エラーです。 VBA のコードとして書いたなら、(多少問題はありつつも)実行できるレベルです。 このままでいいはずです。このままでもこちらの環境ではエラーは出ずに 実行できました。 セルに参照式のつもりで書いてもエラーにはならないでしょうし、これだけの 情報ではエラーを再現できませんでした。 > B2に身長、B3に体重を入力します。 B2に身長は合ってますが、C2に体重な気はしますが入力されていなくても 0として計算されるのでエラーは出ないです。 C2に文字とか入れてるとまずいですが。 どこがどう間違ってるのかは、エラーメッセージが言ってくれているはずです。 まずはそこから調査して下さい。 C2に文字を入れていると、文字の数式計算はできませんから 「型が一致しません。」というエラーが出ました。
その他の回答 (3)
- picknic
- ベストアンサー率25% (33/132)
VBAのコードで 指数計算をするときは WorksheetFunction.Power を使ってください。 Cells(4, 4) = Cells(2, 3) / WorksheetFunction.Power(Cells(2, 2), 3) * WorksheetFunction.Power(10, 7)
- DreamyCat
- ベストアンサー率56% (295/524)
<<追伸>> 122は身長170cm、体重60KGの場合です。
- DreamyCat
- ベストアンサー率56% (295/524)
ローレル指数がよくわからないのですが 122であっているのなら cells(4,4).value= Format(Cells(2, 3).Value / Cells(2, 2).Value ^ 3 * 10 ^ 7, "###.##") その式であっているようですが。。。