• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでF(I) = 1# / Exp(TT)の値がセルに0と表示され)

VBAでF(I) = 1# / Exp(TT)の値がセルに0と表示されてしまう問題

このQ&Aのポイント
  • VBAでF(I) = 1# / Exp(TT)の値がセルに0と表示されてしまう問題があります。TTやExp(TT)の値はそれなりの数値がでるのですが、F(I) だけが0となってしまいます。どうのようにすれば正しくひょうじされるでしょうか?CDblの位置は下記の場所であっているのでしょうか?
  • VBAでセルに表示される値が正しくない問題について相談です。具体的には、F(I) = 1# / Exp(TT)の計算結果がセルに0と表示されてしまいます。その一方、TTやExp(TT)の値は正しく表示されます。どのようにすれば正しい値を表示させることができるでしょうか?また、CDblの位置は正しいですか?
  • VBAのプログラムで表示される値について問題があります。具体的には、F(I) = 1# / Exp(TT)の値がセルに0と表示されてしまいます。しかし、TTやExp(TT)の値は正しく表示されています。正しい値が表示されるようにするにはどうすればよいでしょうか?また、CDblの位置は正しい場所に設定されていますか?

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

  • ベストアンサー
  • hananoppo
  • ベストアンサー率46% (109/235)
回答No.2

こんな感じでどうですか。 With Worksheets("Sheet1") .Range("G4").Value = 0.5 For I = 2 To N TT = DX * (I - 1) .Cells(I + 3, 5).Value = TT .Cells(I + 3, 6).Value = Exp(TT) .Cells(I + 3, 7).Value = 1# / Exp(TT) Next I End With

kelkkelk
質問者

お礼

度々のご回答ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • hananoppo
  • ベストアンサー率46% (109/235)
回答No.1

最後の行がおかしいです。 Next I が実行されると、必ずIの値が1増えます。 よって、最終的にIの値はN+1になっています。 故に、最後の行のF(I)をF(N)に変更すればよいと思います。 また、DXがDoubleで定義されているので、CDblは不用です。 つまり、DX * (I - 1) とすれば、Doubleで計算されます。

kelkkelk
質問者

補足

お忙しいところ、ご回答ありがとうございました。 大変助かります。 さて補足があります。 Worksheets("Sheet1").Range("H4").Value = F(1)  Worksheets("Sheet1").Range("H5").Value = F(2) Worksheets("Sheet1").Range("H6").Value = F(3) Worksheets("Sheet1").Range("H7").Value = F(4) Worksheets("Sheet1").Range("H8").Value = F(5) のように確認してみると正しいそうな値が出力されました。 配列をセルに出力する部分が間違っているのではないかと推測しておりますが この部分についても何かアドバイス頂けないでしょうか? よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A