ExcelでFOR NEXT文の使い方を学びたいですか?このExcelチュートリアルでは、VBAでFORループを作成するためにFOR NEXT文を使用する方法を、構文と例を交えて解説します。ぜひご期待ください!
ExcelのFOR NEXT VBAステートメントの説明

Microsoft Excel の FOR NEXT ステートメントは、VBA コードを固定回数実行できるように FOR ループを作成するために使用されます。
Excel の FOR NEXT VBA ステートメントは、論理関数に分類される組み込み関数です。Excel の VBA 関数として使用できます。VBA 関数として、Microsoft Visual Basic Editor で入力したマクロ コード内で使用できます。
ここでは、Excelでピボットテーブルを月ごとにグループ化する方法について学ぶことができます。
Excel の FOR NEXT VBA ステートメントの構文
Excel で FOR NEXT VBA ステートメントを使用して FOR ループを作成する構文は次のとおりです。
カウンターが開始値から終了値まで[ステップ増分]
{…ステートメント…}
次 [カウンタ]
パラメータまたは引数
ワークトップ
ループカウンター変数。
開始
カウンターの初期値。
終
カウンターの最終値。
増加する
オプション。このカウンターの値は、ループが実行されるたびに増加します。正の数でも負の数でも構いません。指定しない場合は、デフォルトで1ずつ増加します。つまり、ループが実行されるたびにカウンターの値が1ずつ増加します。
宣言
ループ内の各ステップを実行するコード ステートメント。
Excel の FOR NEXT VBA ステートメントからの戻り値
Excel の FOR NEXT VBA ステートメントは、VBA で FOR ループを作成します。
適用対象:
- Excel for Office 365、Excel 2019、Excel 2016、Excel 2013、Excel 2011 for Mac、Excel 2010、Excel 2007、Excel 2003、Excel XP、Excel 2000
関数の種類:
- VBA関数(VBA)
例 (Excel の FOR NEXT VBA ステートメントを関数として使用)
Excel の FOR NEXT VBA ステートメントは、この Office ツールの VBA コードでのみ使用できます。
Microsoft Excel で FOR ループを作成する方法を見てみましょう。まず、単一ループ、二重ループ、三重ループから始めて、ループを通過するたびにカウンターをインクリメントするために使用される値を変更する方法を調べてみましょう。
Excel の FOR NEXT VBA を使用した単一ループ
FOR ループの最も簡単な実装は、Excel で FOR NEXT VBA ステートメントを使用して単一のループを作成することです。これにより、VBA コードを一定の回数繰り返すことができます。
例えば:
サブシングルループの例
整数としての Dim LCounter
LCounter = 1 ~ 5 の場合
メッセージボックス (Lカウンター)
次のLカウンター
End Subの
この例では、FOR ループは変数 LCounterによって制御されます。ループは 1 から 5 まで 5 回繰り返されます。ループの各回で、LCounter変数の値を含むメッセージ ボックスが表示されます。このコードを実行すると、 1、2、3、4、5の値を含む 5 つのメッセージ ボックスが表示されます。
単一ループ – Excel の FOR NEXT VBA で増分を変更する
デフォルトでは、FORループはループカウンタを1ずつ増加させますが、これはカスタマイズ可能です。`STEP increment`コマンドを使用すると、カウンタを増加させる値を変更できます。FORループは、正の値にも負の値にも増加させることができます。
Excel の FOR NEXT VBA による正の増分
まず、FOR ループのカウンターを正の値だけインクリメントする方法の例を見てみましょう。
例えば:
サブインクリメント_ポジティブ_例
整数としての Dim LCounter
LCounter = 1 ~ 9 の場合 ステップ 2
MsgBox Lカウンター
次のLカウンター
End Subの
この例では、FOR ループのステップ 2 を使用して増分を 2 に変更しています。これは、FOR ループが 1 から始まり、2 ずつ増分し、9 で終了することを意味します。コードは、次のような 5 つのメッセージ ボックスを表示します。次の値: 1、3、5、7、9。
Excel の FOR NEXT VBA による負の増分
ここで、FOR ループのカウンターを負の値だけインクリメントする方法を見てみましょう。
例えば:
サブインクリメント_ネガティブ_例
整数としての Dim LCounter
LCounter = 50 ~ 30 ステップ -5 の場合
MsgBox Lカウンター
次のLカウンター
End Subの
負の値でインクリメントする場合は、FOR ループが逆方向にカウントされるため、開始番号を最高値、終了番号を最低値にする必要があります。したがって、この例では、FOR ループは 50 で開始し、-5 ずつ増加し、30 で終了します。コードでは、値 5、50、45、40、および 35 を含む 30 つのメッセージ ボックスが表示されます。
ExcelのFOR NEXT VBAを使った二重回路
次に、Microsoft Excel で二重 FOR ループを作成する方法の例を見てみましょう。
例えば:
サブダブルループ_例
Dim LCounter1 As Integer
Dim LCounter2 As Integer
LCounter1 の場合 = 1 ~ 4
LCounter2 の場合 = 8 ~ 9
MsgBox LCounter1 & «-» & LCounter2
次へ Lカウンター2
次へ Lカウンター1
End Subの
ここには2つのFORループがあります。外側のFORループは変数LCounter1によって制御され、内側のFORループは変数LCounter2によって制御されます。
この例では、外側の FOR ループは 4 回繰り返され (1 から 4 まで)、内側の FOR ループは 2 回繰り返されます (8 から 9 まで)。内側のループ内では、毎回LCounter1 - LCounter2の値を持つメッセージ ボックスが表示されます。したがって、この例では、1-8、1-9、2-8、2-9、3-8、3-9、4-8、4-9 の値を持つ 8 つのメッセージ ボックスが表示されます。
Excel の FOR NEXT VBA を使用したトリプル ループ
次に、Microsoft Excel でトリプル FOR ループを作成する方法の例を見てみましょう。
例えば:
サブトリプルループ_例
Dim LCounter1 As Integer
Dim LCounter2 As Integer
Dim LCounter3 As Integer
LCounter1 の場合 = 1 ~ 2
LCounter2 の場合 = 5 ~ 6
LCounter3 の場合 = 7 ~ 8
MsgBox LCounter1 & «-» & LCounter2 & «-» & LCounter3
次へ Lカウンター3
次へ Lカウンター2
次へ Lカウンター1
End Subの
ここには3つのFORループがあります。一番外側のFORループは変数LCounter1によって制御されます。次のFORループは変数LCounter2によって制御されます。一番内側のFORループは変数LCounter3によって制御されます。
この例では、一番外側の FOR ループは 2 回ループし (1 から始まり 2 で終わる)、次の FOR ループは 2 回ループし (5 から始まり 6 で終わる)、一番内側のFOR ループは2 回ループします (7 から始まり 8 で終わる)。
最も内側のループ内では、コードは毎回LCounter1 – LCounter2 – LCounter3の値を持つメッセージボックスを表示します。このコードは、1-5-7、1-5-8、1-6-7、1-6-8、2-5-7、2-5-8、2-6-7、2-6-8 の値を持つ 8 つのメッセージボックスを表示します。
FOR NEXT VBA Excel の例 1
最初の例では、Excel で FOR NEXT VBA ステートメントを使用して、列 A の製品をループし、列 B の適切なアプリケーション タイプを更新します。
サブ totn_for_loop_example1()
整数としての Dim LCounter
LCounter = 2 ~ 4 の場合
If Cells(LCounter, 1).Value = "Excel" then
Cells(LCounter, 2).Value = "スプレッドシート"
ElseIf Cells(LCounter, 1).Value = "アクセス" then
Cells(LCounter, 2).Value = "データベース"
ElseIf Cells(LCounter, 1).Value = "Word" then
Cells(LCounter, 2).Value = "ワードプロセッサ"
こうなったら終わります
次のLカウンター
End Subの
FOR NEXT VBA Excel の例 2
2番目の例では、A列に参加者のリストがあり、2つのFORループを使用して各参加者をチームAまたはチームBに割り当てます(2つを交互に割り当てます)。
サブ totn_for_loop_example2()
Dim LCounter1 を整数として表示
Dim LCounter2 を整数として表示
LCounter1 = 2 ~ 9 の場合 ステップ 2
Cells(LCounter1, 2).Value = "チーム A"
次のLカウンター1
LCounter2 = 3 ~ 9 の場合 ステップ 2
Cells(LCounter2, 2).Value = "コンピューター B"
次のLカウンター2
End Subの
こちらもご興味があるかもしれません:Excelシートを別のワークブックにコピーする方法 – チュートリアル
ご覧のとおり、Excel の FOR NEXT VBA ステートメントの例を使用すると、この論理関数を使用して Microsoft Visual Basic エディターでループを簡単に作成できます。お役に立てば幸いです。
私の名前はハビエル・チリノスです。テクノロジーに情熱を持っています。物心ついた頃から私はコンピューターとビデオゲームが好きで、その趣味が仕事になりました。
私は 15 年以上、インターネット上でテクノロジーやガジェットについて出版してきました。特に mundobytes.com
私はオンライン コミュニケーションとマーケティングの専門家でもあり、WordPress 開発の知識もあります。