Excel VBAでループ処理を実行する:For…Nextステートメントの使い方

For…Nextステートメントは、Excel VBAでループを実行するために使用される重要な構文の1つです。このステートメントを使用すると、同じ処理を繰り返し実行することができます。
以下では、For…Nextステートメントについて、その構文、使用方法、および例について詳しく説明します。

For…Nextステートメントの構文

For…Nextステートメントは、次のような構文を持っています。

  • counter: ループのカウンター変数を表します。
  • start: カウンター変数の初期値を表します。
  • end: カウンター変数の最終値を表します。
  • stepValue: カウンター変数の増分または減分を表します。省略すると、1が設定されます。

For…Nextステートメントは、ループを開始する前にカウンター変数を初期化し、その後、ループ内で処理を繰り返し、最終値に達するまでカウンター変数を増分または減分します。
この処理が完了すると、ループは終了します。

For…Nextステートメントの使用方法

For…Nextステートメントを使用すると、同じ処理を繰り返し実行できます。
以下は、For…Nextステートメントを使用して、1から10までの数値を出力する例です。

この例では、変数iが1から10までの数値で設定されます。ループ内の処理は、Debug.Printステートメントを使用して、変数iの値をコンソールに出力することです。
最後に、Nextステートメントが実行され、ループが終了します。

また、For…Nextステートメントは、配列の要素にアクセスする場合にも使用できます。
以下は、配列の要素を処理するためにFor…Nextステートメントを使用する例です。

この例では、配列myArrayに5つの要素が設定され、ループ内の処理は、Debug.Printステートメントを使用して、配列の各要素をコンソールに出力することです。
変数iは0から4までの数値で設定され、配列のインデックスとして使用されます。最後に、Nextステートメントが実行され、ループが終了します。

For…Nextステートメントの例

以下は、For…Nextステートメントを使用して、1から100までの数値の和を計算する例です。

この例では、変数sumが0で初期化され、ループ内の処理は、sumに変数iの値を加算することです。最後に、Debug.Printステートメントが使用されて、sumの値がコンソールに出力されます。

また、For…Nextステートメントをネストすることで、2次元のループを実行することもできます。以下は、2次元の配列を処理するためにFor…Nextステートメントを使用する例です。

この例では、2次元の配列myArrayに9つの要素が設定され、ループ内の処理は、Debug.Printステートメントを使用して、配列の各要素をコンソールに出力することです。変数iとjは、配列のインデックスとして使用され、For…Nextステートメントが2回ネストされています。

まとめ

For…Nextステートメントは、Excel VBAでループを実行するために使用される重要な構文の1つです。このステートメントを使用すると、同じ処理を繰り返し実行できます。
この記事では、For…Nextステートメントの構文、使用方法、および例について説明しました。For…Nextステートメントを使用することで、より複雑なプログラムを作成することができます。

サンプルコード

ファイルを連番で保存する

このコードでは、ActiveWorkbook変数を使用して、現在アクティブなブックを取得します。
For…Nextステートメントが使用されて、10回ループが実行され、各ループで、ファイル名に連番が付与されて、ファイルが保存されます。
保存先のフォルダは、事前に存在している必要があります。

コメント