For...Nextでの変数の挙動を追いたい
生物の研究の為のプログラムをVBAで自動化しようとしたのですが、
うまくプログラムできない為、質問させて頂きます。
「変数計算」というシートに変数(50%から200%)を入力し、計算する。
「Sheet1」から「Sheet11」は各年のデータで、「変数計算」のデータを
元に体温変化等を計算します。
「日々の増減」で各年のデータをグラフ化、「集計」シートで
標準偏差等を計算し、「総合評価」のシートに「集計」シートで
計算した3つの数値(C8,C10,C31)の値のみを
「総合評価」のシートのC4,D4,E4から縦方向にそれぞれ
順番に貼り付ける。
という作業をコード化しました。
Sub Macro1()
'画面更新停止
Application.ScreenUpdating = False
'自動計算停止
ActiveSheet.EnableCalculation = False
cntRec = cntRec + 1
Application.StatusBar = "処理実行中....(現在 " & cntRec & "件)"
For i = 0 To 30
Sheets("変数計算").Select
Cells(41, 12).Value = 50 + (i * 5)
ActiveSheet.EnableCalculation = True
ActiveSheet.EnableCalculation = False
Sheets(Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6", "Sheet7", _
"Sheet8", "Sheet9", "Sheet10", "Sheet11")).Select
ActiveSheet.EnableCalculation = True
ActiveSheet.EnableCalculation = False
Sheets("日々の増減").Select
ActiveSheet.EnableCalculation = True
ActiveSheet.EnableCalculation = False
Sheets("集計").Select
ActiveSheet.EnableCalculation = True
ActiveSheet.EnableCalculation = False
Cells(8, 3).Copy Destination:=Worksheets("総合評価").Cells(4 + i, 3)
Sheets("集計").Select
Cells(10, 3).Copy Destination:=Worksheets("総合評価").Cells(4 + i, 4)
Sheets("集計").Select
Cells(31, 3).Copy Destination:=Worksheets("総合評価").Cells(4 + i, 5)
Next i
Application.StatusBar = False
MsgBox "バックテストが完了しました"
End Sub
このコードですと、同じ値が「総合評価」にコピペされてしまいました。
変数iに応じたそれぞれの結果をコピペするにはどのように
したら良いのでしょうか?
VBAにお詳しい方のアドバイスを宜しくお願い致します。
お礼
大変参考になりました。 どうも、変数の定義でlongを使っていた点がまずかったようです。ありがとうございました。