Excel(エクセル)VBAで「for next」を2つ以上使用する方法をご紹介!

Excel(エクセル)の勉強方法のメイン画像 Excel(エクセル)

業務中に調べることの多い、Excel,Word,PowerPointなどのノウハウを発信していきます!

Biz Magic編集部をフォローする

Excel(エクセル)for nextとは

皆さんExcel VBAのfor nextとはなにかをご存じでしょうか?まず、VBAとはVisual Basic for Applicationsの略であり、Microsoft Office製品の中に組み込まれているプログラミング言語です。

VBAを使用することで、Excel、Word、PowerPointなどのOfficeアプリケーションを自動化したり、カスタマイズすることができます。VBAは、オブジェクト指向プログラミング言語であり、各種オブジェクトを扱うことができます。

ここからが今回の記事の本題ですが、VBA の for next とは、指定した回数分だけ処理を繰り返すための制御構文です。初期値から終了値までの範囲を指定し、ステップで増分を指定することができます。for next 構文はVBAでプログラミングを行う上で非常に重要な構文の一つです。実際の記述方法は以下の通りです。

For 変数 = 初期値 To 終了値 Step ステップ
    [処理]
Next 変数

このfor next 構文は複数使用し、入れ子にすることも可能です。入れ子にすることで例えば、多次元配列の値を取得する場合などに役に立ちます。 今回の記事ではExcel VBAのfor next を2つ以上入れ子にする方法をご紹介します。

Excel(エクセル)VBAのfor next構文を2つ以上使用する方法

では、早速ですがExcel VBAのfor nextを2つ以上使用する方法をご紹介していきます。まず、以下では、最も基本的なfor next構文の使用例をご紹介します。以下の例は1から10までの数値を順番に出力するコードです。

For i = 1 To 10
    Debug.Print i
Next i
次にfor nextを入れ子にする方法をご紹介します。
for nextを入れ子にするには、以下のように構文を用いて記述します。
For 変数1 = 初期値1 To 終了値1 Step ステップ1
    For 変数2 = 初期値2 To 終了値2 Step ステップ2
        [処理]
    Next 変数2
Next 変数1

変数1と変数2の二つの変数を用いて、処理を複雑なパターンで繰り返すことができます。次の例は、1から5までの数値を順番に出力し、その数値の各値について1から3までの数値を出力するコードです。

For i = 1 To 5
    Debug.Print "i = " & i
    For j = 1 To 3
        Debug.Print "j = " & j
    Next j
Next i

このコードを実行すると、以下のように出力されます。

i = 1
j = 1
j = 2
j = 3
i = 2
j = 1
j = 2
j = 3
i = 3
j = 1
j = 2
j = 3
i = 4
j = 1
j = 2
j = 3
i = 5
j = 1
j = 2
j = 3

このように、入れ子にしたfor next文によって、繰り返し処理をより複雑なパターンで実現することができます。また、for nextを入れ子にすることで、多次元の配列を操作することも可能です。次の例は、2次元配列の各要素を順番に出力するコードです。2次元配列とは2次元配列とは、1つの配列の中に、複数の配列を格納するデータ構造のことです。1次元配列が1行のデータを格納するのに対して、2次元配列は複数の行と列のデータを格納することができます。

Dim arr(1 To 3, 1 To 2) As Variant
arr(1, 1) = "A"
arr(1, 2) = "B"
arr(2, 1) = "C"
arr(2, 2) = "D"
arr(3, 1) = "E"
arr(3, 2) = "F"

For i = 1 To 3
    For j = 1 To 2
        Debug.Print arr(i, j)
    Next j
Next i

このコードを実行すると、以下のように出力されます。

A
B
C
D
E
F

このように、for nextを入れ子にすることで、多次元の配列を操作することができます。今回ご紹介したExcel VBAのfor nextは、指定した回数分だけ処理を繰り返すための制御構文です。for nextを入れ子にすることで、処理をより複雑なパターンで繰り返すことができます。また、多次元の配列を操作することも可能です。入れ子にしたfor next文は、ネストが深くなりすぎると動作に問題が発生する場合や処理を追いかけるのが大変になったりするので必要以上にfor next を入れ子にしないように注意して使用しましょう。

Excelの操作方法は実際に手を動かし、身につけていきましょう

今の時代、様々な仕事でExcelを使用することがあるでしょう。今回はExcel VBAのfor nextを2つ以上使用する方法をご紹介しました。このような機能を使いこなすことができれば仕事にも役に立つので、実際に手を動かし、覚えていきましょう。

WordやExcelなどのOfficeツールでは便利なショートカットキーなどがたくさんあるのでよく使う作業に関してはショートカットキーを調べてみるのも効率よく仕事を進める上で大切なことなのでこれから実践してみましょう。

コメント

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