- 締切済み
ExcelのFor...Nextステートメントについて
For...Nextステートメントについて質問させて頂きます。 シート1のA1に変数(0.5から2まで、0.05ずつ増加)を挿入し、 シート2のA1で「シート1のA1のそれぞれの変数×2」を計算、 シート3のA1からシート2のA1の結果をそれぞれ縦方向に表記して しよう考えております。 Sub macro1() '画面更新停止 Application.ScreenUpdating = False '自動計算停止 ActiveSheet.EnableCalculation = False Dim sheet1 As Worksheet Set sheet1 = Worksheets(1) 'シート1をアクティブにする sheet1.Activate '変数を宣言する For i = 0.5 To 2 Step 0.05 For j = 1 To 30 'シート1のパラメータの値(A1)を0.5から2まで 0.05 刻みで変化させる sheet1.Cells(1, 1).Value = i '再計算・自動再計算停止 ActiveSheet.EnableCalculation = True ActiveSheet.EnableCalculation = False 'シート2をアクティブにする Sheet2.Activate '再計算・自動再計算停止 ActiveSheet.EnableCalculation = True ActiveSheet.EnableCalculation = False 'シート3をアクティブにする Sheet3.Activate '再計算・自動再計算停止 ActiveSheet.EnableCalculation = True ActiveSheet.EnableCalculation = False 'シート2(A1)の値をシート3の j 列目にコピー&ペースト Sheet3.Range("A" & j).Value = Sheet2.Range("A1").Value Next Next End Sub 上記のコードですと、シート3にA1、A2...にそれぞれ表記される値は全て 同じになりますが、私のしようとしている事は、 シート3のA1にシート1が0.5の時の計算結果、 シート3のA1にシート1が0.55の時の計算結果....というように したいのです。 どのようにすれば良いでしょうか。 VBAにお詳しい方、アドバイス宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Sinogi
- ベストアンサー率27% (72/260)
変数Jを使用せず、変数iだけでコードを書くように工夫しましょう。 変数Jでシート3のセル番地を指定していますが、変数iの変化に連動していません
お礼
アドバイスありがとうございました。 何とか希望通りのコードを組み上げました。