VBAでFor~Nextステートメントを使って鋼管杭の断面諸元を繰り返し計算!

プログラミングの勉強

鋼管杭の断面諸元計算(1)に引き続き、Excel2013VBAで計算します。

今回は、For~Nextステートメントで、VBAで鋼管杭の断面諸元計算を実行する!の計算処理を書き直してみます。

鋼管杭の断面諸元計算のプロシージャ

繰り返し計算を利用するために、まず、変数を置きなおします。

 鋼管諸元(1)の変数を以下のように置きなおします。
    直 径       A(0) → B(0,j)
    板 厚       A(1) → B(1,j)
    腐食しろ      A(2) → DT
    杭の内径      A(3) → DI
    面 積       B(0) → B(2,j)
    断面2次モーメント B(1) → B(3,j)
    断面係数      B(2) → B(4,j)
 jは、j=0が腐食なし、j=1が腐食ありとして、B(I,j)を2次元配列で定義しました。

   2次元配列B(i,j)は、例えば、B(4,1)と定義したとき、
     B(0,0)  B(1,0)  B(2,0)  B(3,0) B(4,0)
     B(0,1)  B(1,1)  B(2,1)  B(3,1) B(4,1)
   の計10個の変数を定義したことになります。

For~Nextステートメントでの書き換え

繰り返し計算にはFor~Nextステートメントを利用します。

  For カウンタ変数 = 初期値 To 最終値 [Step 増減値]
     ここに計算処理を記述します
  Next [カウンタ変数]
                     ※[ ]は省略できます。

Step 増減値は 初期値から1ずつ増やしていくなら1(1つとばしに計算)、2ずつ増やしていくなら2(2つずつとばしで計算)とします。1を使う場合には省略することが多いと思います。

また、For~Nextステートメントの中に、For~Nextステートメントを入れて計算させる場合があります。上から順番に処理されるので、最初のFor~Nextステートメントで変数jが、次のFor~Nextステートメントで変数iが定義されるときは、まずjが最初の値に固定された状態で、iについて繰り返し計算が実行されます。それが終わると、次のjの値が固定された状態で、iについて繰り返し計算が実行されます。これをjが最後の値まで繰り返し計算されて終了します。

上のように書き換えられました。これを実行すると、VBAで鋼管杭の断面諸元計算を実行する!と同じ値が出力されます。

コメント

タイトルとURLをコピーしました