Excelで範囲内の行をループするVBA (6つの例)

  • これを共有
Hugh West

このチュートリアルでは ブイビーエー ループを利用することで、同じことを何度も繰り返さないようにします。 マイクロソフトエクセル このような場合、同じ作業を何度も行う必要があります。 このような場合、ループを使用することで、簡単に行うことができます。 ブイビーエー 今回は、そのデモンストレーションを行います。 6 エクセルで行をループする例 ブイビーエー この例で使用するループは、' For-Nextループ '.

練習用ワークブックをダウンロードする

練習用ワークブックはこちらからダウンロードできます。

VBA Range.xlsmの行をループスルーする

ExcelのVBAで範囲内の行をループする6つの例

このチュートリアルの例を説明するために、次のデータセットを使用します。 このデータセットには、最初の2ヶ月間の売上高が含まれています。 営業担当者5名 .

1.VBAでRange変数を使い、行をループする

最初の例では、range 変数を使用して range 内の行をループしています。 ブイビーエー を適用します。 ブイビーエー のループを次のデータセットで実行します。

この例を実行するための手順を見てみましょう。

STEPS

  • まず始めに、アクティブなワークシートの' レンジバリアブル '.
  • さらに 右クリック を選択し、' 表示コード ' を押すこともできます。 アルト + F11 をクリックすると開きます。

  • 上記の操作で、そのワークシートのコードウィンドウが開かれます。
  • さらに、コードウィンドウにコードを入力します。
 Sub VBA_Loop_through_Rows() Dim w As Range For Each w In Range("B5:D9").Rows w.Cells(1).Interior.ColorIndex = 35 Next End Sub 
  • 次に 実行 を押すか F5 を実行してください。

  • 最後に、以下のスクリーンショットのような結果を得ることができます。

続きを読む: エクセルVBA:範囲内の列をループする(5例)

2.VBAを使用して、数値変数を使用して範囲内の行をループする

範囲内の行をループするもう一つの方法は、変数を選択することです。 二つ目の例では、適用された ブイビーエー で、数値変数を含む範囲内の行をループする。

この方法を行うための手順を見てみましょう。

STEPS

  • 最初に 右クリック という名前のアクティブなシートに、' 数値 '.
  • 次に、オプションの「」を選択します。 表示コード '.

  • この操作により、そのワークシートのコードウィンドウが開かれます。 また、以下の操作も可能です。 アルト + F11 をクリックすると、そのコードウィンドウが表示されます。
  • と入力し、そのウィンドウに次のコードを入力します。
 Sub VBA_Numeric_Variable() Dim w As Integer With Range("B5").CurrentRegion For w = 1 To .Columns.Count .Columns(w).NumberFormat = "$0.00" Next End With End Sub 
  • その後 実行 を押すか F5 キーを押して、コードを実行します。

  • 最後に、次の図のような結果が得られます。 上記のコードでは、数値の書式を小数点以下に変更しています。

続きを読む: Excelで範囲内の行と列をループするVBA(5例)

3.ユーザーが選択した範囲内の行をループ再生するExcel VBA

3つ目の例では ブイビーエー を選択すると、範囲内の行をループさせることができます。 つまり、ユーザーはデータセットの選択された領域でループを適用することができるようになるのです。

この例に関連する手順を見てみましょう。

STEPS

  • はじめに、セル範囲( D5:D9 ).

  • 次のページ 右クリック という名前のアクティブなシートに、' ユーザーが選択した ' を選択します。 表示コード '.

  • 上記のコマンドを実行すると ブイビーエー を押すと、アクティブなワークシートのコードウィンドウが表示されます。 アルト + F11 その空白のコードウィンドウに次のコードを挿入してください。
 Sub VBA_User_Selection() Dim w As Variant Set xRange = Selection For Each w In xRange MsgBox "セル値 = " & w.Value Next w End Sub 
  • 次に、そのワークシートのコードを実行するために 実行 を押すか F5 キーになります。

  • そこで、選択した範囲の最初の値を示すメッセージボックスが表示されます。

  • さらに、クリックすると よっしゃー の場合、選択した範囲の2番目の値を返します。 D6 .

  • この処理は、選択した範囲の最後の値であるセル D9 .

続きを読む VBAを使ってExcelでデータのある範囲の行数を数える方法(マクロ5個)

類似の読み物

  • ExcelでVBAを使用してアクティブセルから範囲を選択する方法(3つの方法)
  • Excelマクロ:ダイナミックレンジで複数列をソートする(4つの方法)
  • Excel VBAで範囲を配列に変換する方法(3つの方法)

4.VBAでダイナミックレンジの行をループスルーする

4つ目の例では、以下のように適用します。 ブイビーエー を使用して、動的範囲内の行をループします。 この例は、前の例とは少し異なります。 ループ内の範囲を、Excel ワークシート用にカスタマイズできるようになります。 次のデータセットを使用して、この方法を説明します。 次のデータセットでは、範囲の値を埋めるために、 ( B8:C12 ) を特定の値で指定します。

この方法を実行するには、以下の手順に従うだけです。

STEPS

  • まず、入力値 6 細胞内 B1 C 細胞内 B2 .
  • 2つ目は 右クリック をアクティブなセル上で選択し、' 表示コード '.

  • このコマンドを実行すると ブイビーエー アクティブなワークシートのコードウィンドウを表示するには アルト + F11 .
  • 3つ目は、そのコードウィンドウに以下のコードを挿入することです。
 Sub Dynamic_Range() Dim xRange As String xRange = "B8:" + Worksheets("Dynamic Range").Cells(2, 2).Value + _ CStr(3 + Worksheets("Dynamic Range").Cells(1, 2).Value) For Each Row In Range(xRange) For Each Cell In Row Cell.Value = "$2500.00" Next Cell Next Row End Sub 
  • さて、コードを実行するには 実行 を押すか F5 キーになります。

  • その結果、データセットが値で埋め尽くされます。 $2500.00 を、次のようにします。

上の画像では、値 6 は,範囲の最初の2行を表します ( B8:B9 ).

  • 最後に、値を入力します。 9 細胞内 B1 代わりに 6 .次の画像でその結果を見ることができます。

5.範囲内の行全体をループするVBAを挿入する

5つ目の例では、「Security」(セキュリティー)の略で、「Security」を「Security」と呼ぶことにします。 ブイビーエー この例では、選択された1行または複数行から、特定の値の位置を検索します。

それでは、この例を実行するための手順をご覧ください。

STEPS

  • そもそも 右クリック という名前のアクティブなシートに、' 列全体 ' を選択します。 表示コード '.

  • 上記のコマンドで、空白の ブイビーエー を押すと、アクティブなワークシートのコードウィンドウが表示されます。 アルト + F11 .
  • 次に、そのコードウィンドウに次のコードを挿入してください。
 Sub VBA_Loop_Entire_Row() Dim w As Range For Each w In Range("5:9") If w.Value = "Chris" Then MsgBox "クリスは" & w.Address で見つかりました End If Next w End Sub 
  • 次に 実行 を押すか F5 キーを押して、コードを実行します。

  • 上の画像では、ハイライトされた値' クリス 'は検索する値を示す。 範囲値 ' 5:9 は、セル範囲内の値を検索することを示す( B5:B9 ).
  • 最後に、メッセージボックスで、値' クリス は、セル B6 .

続きを読む: Excelで範囲内の各行に対してVBAを使用する方法

6.エクセルVBAで範囲内のn行目をループ処理する

最後の例では ブイビーエー をループさせ、すべての n番目 範囲内の行。 次のデータセットでは、データ範囲の奇数行にカラーシェーディングを適用します。

では、この方法を実行するための手順を見てみましょう。

STEPS

  • 最初に 右クリック という名前のアクティブなシートに、' n行目 ' を選択します。 表示コード '.

  • 次に、空白の ブイビーエー を押すと、そのワークシートのコードウィンドウが表示されます。 アルト + F11 .
  • そして、次にそのコードウィンドウに次のコードを入力します。
 Sub ShadeRows1() Dim r As Long With Range("B5").CurrentRegion For r = 1 To .Rows.Count If r / 2 = Int(r / 2) Then 'Even rows .Rows(r).Interior.ColorIndex = 43 End If Next End With End Sub 
  • ここで、「」をクリックします。 実行 を押すか F5 キーを押して、コードを実行します。

  • 最後に、上記のコードでデータセットから奇数行だけをシェーディングしていることがわかります。

続きを読む: 空のセルまで範囲をループするエクセルVBA(4例)

結論

結論として、このチュートリアルでは 6 で範囲内の行をループする例です。 ブイビーエー この記事にある練習用ワークシートをダウンロードして、あなたのスキルを試してみてください。 ご質問がある場合は、下のボックスにコメントを残してください。 私たちのチームはできるだけ早くあなたのメッセージに応答するようにします。 より多くの創意工夫に注目してください。 マイクロソフトエクセル のソリューションを提供します。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。