• ベストアンサー

VBAなんですが・・・うまく計算されません。

ローレル指数の計算がしたいのですが、 体重÷身長^3×10^7 が公式で、 エクセルのセル、 B2に身長、B3に体重を入力します。 私は、 cells(4,4)=cells(2,3)/cells(2,2)^3*10^7 と入力したけれご、エラーです。 どこがどう間違ってるのでしょうか・・・?

質問者が選んだベストアンサー

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.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)
回答No.3

VBAのコードで 指数計算をするときは WorksheetFunction.Power を使ってください。 Cells(4, 4) = Cells(2, 3) / WorksheetFunction.Power(Cells(2, 2), 3) * WorksheetFunction.Power(10, 7)

  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.2

<<追伸>> 122は身長170cm、体重60KGの場合です。

  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.1

ローレル指数がよくわからないのですが 122であっているのなら cells(4,4).value= Format(Cells(2, 3).Value / Cells(2, 2).Value ^ 3 * 10 ^ 7, "###.##") その式であっているようですが。。。

関連するQ&A

専門家に質問してみよう