繰り返し処理For~next

今回は先の覚える言語はたったの5つのなかから繰り返しを行う命令であるFor~Nextを実例を用意して見てみたいと思います。
プログラムを組みはじめてみると、延々と繰り返される確認、チェック作業というのを手作業でやって来たの
が本当に時間と自分の体力とモチベーションを浪費していた作業だったと気づかれる方も多いと思います。
(えっ、私だけ?)
まあそう思われない方もいるかもしれませんが、そのような幸せな職場と時間のある環境の方も、早くする
ことにこしたことは無いと思いますのでここは強引に進めてまいります。

ところで、今回も、まずマクロレコーダーを使って適当なエクセルオペレーションを行い動作をVBAに書いてもらい
ます。(マクロレコーダーって何?って方は、まず前のトピックマクロレコーダーで楽勝!!ご参照ください。<(_ _)>


マクロレコーダーでの記録

クリックで拡大

【メニュー】ツール→マクロ→新しいマクロの記録を選択します。


マクロの記録ダイヤログでOKボタンを押します。
(以降の作業が記録されます。)

クリックで拡大

今回は繰り返して処理をしますので、
そのままの位置だとあっという間にデータが書き換わってしまいますので相対参照にして、セルに順に書き込んで見ましょう。


クリックで拡大

例では1,2と入れてみました。
ここで記録終了としておきます。

クリックで拡大

早速、VBAエディターで見てみましょう。
図のようにかかれているかと思います。

 

Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 :
'

ActiveCell.FormulaR1C1 = "1"
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "2"
ActiveCell.Offset(1, 0).Range("A1").Select

End Sub

ですね。
これにfor~next文をつけて繰り返し処理に改造してみましょう。

Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 :
'

For i = 1 To 5
ActiveCell.FormulaR1C1 = i
ActiveCell.Offset(1, 0).Range("A1").Select
Next

End Sub

クリックで拡大

と、こんな感じです。

命令文としては、
変数iを用意します。
アクティブセル=今のセルに変数iの値を書き込みます。
1行下のセルを選択します。
変数iを1づつ増加させて5になるまで
for~next間を繰り返します。

クリックで拡大

では早速、
【メニュー】ツール→マクロ→マクロを選択します。

(例では選択前にアクティブセルの位置を"B1"に移動しておきました。)


作ったプログラムを選択し、実行ボタンを押します。

クリックで拡大

命令文とおりの結果を得ることが出来ました。


いかがでしょう?For~Nex文を使った繰り返し処理を行ってみました。

ページトップへ