目次
このチュートリアルでは ブイビーエー ループを利用することで、同じことを何度も繰り返さないようにします。 マイクロソフトエクセル このような場合、同じ作業を何度も行う必要があります。 このような場合、ループを使用することで、簡単に行うことができます。 ブイビーエー 今回は、そのデモンストレーションを行います。 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 で範囲内の行をループする例です。 ブイビーエー この記事にある練習用ワークシートをダウンロードして、あなたのスキルを試してみてください。 ご質問がある場合は、下のボックスにコメントを残してください。 私たちのチームはできるだけ早くあなたのメッセージに応答するようにします。 より多くの創意工夫に注目してください。 マイクロソフトエクセル のソリューションを提供します。