この記事では、VBAで基本的なFor Nextループのサンプルプログラムを掲載しております。
簡単に書きますと、ループとは「繰り返し」のことです。
いつまで繰り返すのか、例えば1から10まで繰り返すのか、1から20までなのか、それとも10から0になるまでなのか、1ずつ増える、2ずつ増やす、1ずつ増減らすなどをFor Nextループを使って設定して行きます。
例えば1から10まで増やして、10になったらループ(繰り返し)を抜けるとします。
その、1から10までを入れる変数として、1番使う機会が多い変数は、恐らく「 i 」という変数です。
慣習的に、ループカウンタには i , j , k 辺りの変数を使います。
1から10まで、iに入っている値が増えていって、10になったらループを抜けて繰り返しが終わります。
それでは実際に作って行きます。
Excelシートに新しいシートを追加して、「はじめてのループ」という名前を付けます。
 このシートも、Sheet1などの他のシートも、オブジェクトと言って、Excelの部品です。
下のサンプルでは、2023年7月から使い始めたSNSのThreadsのフォローワーさんを増やして見たいと思います。
フォローワーさんが1人増えた、2人増えた・・・10人増えた、繰り返しを終了、と言う流れになります。
Sub ループ1()
   
   'カウンタ変数iを整数型で宣言
   Dim i As Integer
    
   'Excelのワークシート「はじめてのループ」のセルA1をアクティブセルにする
   Worksheets("はじめてのループ").Range("A1").Select
   
   'Forループで1から10まで1ずつ増やす
    For i = 1 To 10
     
     'アクティブセルに「Threadsのフォローワーさんが i 人増えた!!」と出力
     ActiveCell.Value = "Threadsのフォローワーさんが " & i & " 人増えた!!"
    
     'アクティブセルを1つ下に移動する
     ActiveCell.Offset(1, 0).Select
    
     'iの繰り返し処理
      Next i
    
   End Subこのプログラムを、ボタンに登録して、ボタンを押して実行します。
 ボタンを作る位置は、F列ぐらいにします。 
ボタンはExcelシートの 開発タブ から作成してマクロ「ループ1」を登録します。
すると、1から10までの整数をiに代入して、Threadsのフォローワーさんが増えた人数(i人)をセルに出力して、セルを1つ下に移動して繰り返します。
実行すると、こんな感じです。
お疲れ様でした。
ここで一旦、写真で休憩を挟みます。
いたばし花火大会2019です。
先ほどのプログラムでは、Threadsのフォローワーさんが1人ずつ増えました。
 今度は、フォローワーさんを2人ずつ増やして、結果として奇数の人数が出力されるようにします。
 
 for i=1 to 10の後に、Step 2と記述します。
先ほどのコードの下に1行開けて書きますので、セルA12をアクティブセルにします。
Sub ループ2()
   
   'カウンタ変数iを整数型で宣言
   Dim i As Integer
    
   'Excelのワークシート「はじめてのループ」のセルA12をアクティブセルにする
   Worksheets("はじめてのループ").Range("A12").Select
   
   'Forループで1から10まで2ずつ増やす
    For i = 1 To 10 Step 2
     
     'アクティブセルに「Threadsのフォローワーさんが i 人増えた!!」と出力
     ActiveCell.Value = "Threadsのフォローワーさんが " & i & " 人増えた!!"
    
     'アクティブセルを1つ下に移動する
     ActiveCell.Offset(1, 0).Select
    
     'iの繰り返し処理
      Next i
    
   End Sub
 こんな感じに2つずつ増えていますね。
お疲れ様でした。
ここで一旦、写真で休憩を挟みます。
江ノ電、七里ヶ浜の海です。
では、今度はFor Nextループで1ずつ減らすループを作ります。
 考え方としては、Stepの後に「-1ずつ増やす」と言うイメージです。
例として、江ノ電の電車の待ち時間をループで1分減らしていくサンプルを作りました。
「あと i分 で 鎌倉行きの電車が到着します。」と出力します。
先ほどのプログラムの下に出力するので、アクティブセルをA18とします。
また、ループを抜けた後に「電車が到着しました!!」と出力してから、セルを下に1つ移動します。
Sub ループ3()
   
   'カウンタ変数iを整数型で宣言
   Dim i As Integer
    
   'Excelのワークシート「はじめてのループ」のセルA18をアクティブセルにする
   Worksheets("はじめてのループ").Range("A18").Select
   
   '<<ここからループ>>
  'Forループで10から1まで1ずつ減らす
    For i = 10 To 1 Step -1
     
     'アクティブセルに「あと i分 で 鎌倉行きの電車が到着します。」と出力
     ActiveCell.Value = "あと " & i & " 分で 鎌倉行きの電車が到着します。"
    
     'アクティブセルを1つ下に移動する
     ActiveCell.Offset(1, 0).Select
    
     'iの繰り返し処理
      Next i
     '<<ここから、ループを抜けた後の処理>>
   '「電車が到着しました!!」と出力
     ActiveCell.Value="電車が到着しました!!”
    'セルを1つ下に移動する
    ActiveCell.Offset(1,0).Select
    
   End Sub
 
 最後にシートをキレイにして終了致します。
シートをクリアした後、ホームポジションであるセルA1を選択します。
Sub シートのクリア()
'ワークシート「はじめてのループ」をクリアする
Worksheets("はじめてのループ").Cells.Clear
'セルA1を選択する
Range("A1").Select
End Sub皆さま、大変お疲れ様でした。
この記事最後のブレイクタイムPhotoは・・・
江ノ電 鎌倉高校前の海と、
江ノ電グッズのタオルです。
お優しい方は、私のThreadsフォローもお願いします!!
https://www.threads.net/@nekosiestr77
やった〜〜〜!!!
あなたのことが、とっても、
大好きです☆*:.。. o(≧▽≦)o .。.:*☆
最後までご精読、誠にありがとうございました!!
仕事や勉強のリフレッシュに、趣味で写真を撮っておりますので、宜しかったら  フォトストック写真ACさん の投稿もご覧頂けますと、大変嬉しい限りでございます!!
こちら、無料の「ダウンロードユーザー」に登録して頂けると、無料で写真のダウンロードが可能になります。
※ 先にGoogleアカウントを作成して頂くと、登録が ラク です♪ 
最後までご精読、誠にありがとうございました!!
自己紹介
VBA自作サンプルプログラム集へ戻る
取りあえず事務職で働きたいから手っ取り早くExcel教えてくれ
MOSなどの資格試験対策

「05VBAのループその1:はじめてのForNextループ」への1件のフィードバック
コメントは受け付けていません。