メインコンテンツへスキップ

Excel列で空白になるまで行をループする方法は?

作者: サン 最終更新日:2020年04月27日

これは、いくつかの空のセルを含むデータを含む長い列であり、空白のセルに出会うまで行をループする必要があります。 Excelには、このジョブを処理できる組み込み機能はありませんが、いくつかのマクロを紹介して、あなたに有利に働きます。

VBAで空白になるまで行をループします


矢印青い右バブル VBAで空白になるまで行をループします

1。 押す Altキー+ F11 を有効にするためのキー アプリケーション向け Microsoft Visual Basic 窓。

2。 クリック インセット > モジュール、以下のコードを空白のスクリプトに貼り付けます。

VBA:空白になるまでループする

Sub Test1()
'UpdatebyExtendoffice20161222
      Dim x As Integer
      Application.ScreenUpdating = False
      ' Set numrows = number of rows of data.
      NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
      ' Select cell a1.
      Range("A1").Select
      ' Establish "For" loop to loop "numrows" number of times.
      For x = 1 To NumRows
         ' Insert your code here.
         ' Selects cell down 1 row from active cell.
         ActiveCell.Offset(1, 0).Select
      Next
      Application.ScreenUpdating = True
End Sub

空白になるまでドキュメントループ1

コードでは、A1はループ元の最初のセルであり、必要に応じて変更できます。

3。 押す F5 キーを押して列のループを開始すると、カーソルは最初に出会った空白のセルで停止します。
空白になるまでドキュメントループ2

Note:連続する空白セルに到達するまでデータをループする場合は、このマクロコードを使用できます。

Sub LoopThroughUntilBlanks()
'UpdatebyExtendoffice20161222
      ' Select cell A2, *first line of data*.
      Dim xrg As Range
      On Error Resume Next
      Set xrg = Application.InputBox _
        (Prompt:="first cell select..", Title:="Kutools for Excel", Type:=8)
      xrg.Cells(1, 1).Select
      ' Set Do loop to stop when two consecutive empty cells are reached.
      Application.ScreenUpdating = False
      Do Until IsEmpty(ActiveCell) And IsEmpty(ActiveCell.Offset(1, 0))
         ' Insert your code here.
         '
         ' Step down 2 rows from present location.
         ActiveCell.Offset(2, 0).Select
      Loop
      Application.ScreenUpdating = False
End Sub

次に、ループする最初のセルを選択する必要があります。 Kutools for Excel ダイアログ、クリック OK、次にカーソルは最初の連続した空白セルで停止します。

空白になるまでドキュメントループ3 空白になるまでドキュメントループ4

複数のシート/ワークブックをXNUMXつのシートまたはワークブックに簡単に組み合わせる

複数のシートまたはワークブックをXNUMXつのシートまたはワークブックに結合することは、Excelでは面倒かもしれませんが、 組み合わせる Kutools for Excelの機能を使用すると、数十のシート/ワークブックをXNUMXつのシートまたはワークブックに結合できます。また、数回クリックするだけでシートをXNUMXつに統合できます。  クリックすると、全機能を備えた 30 日間の無料トライアルが可能です。
シートを組み合わせる
 
Kutools for Excel:300を超える便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます。

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
The first VBA produces the wrong result in cases when there is one or zero rows of data.

You probably need something like

If Range("A1").Value = "" Then
NumRows = 0
ElseIf Range("A1").Offset(1, 0).Value = "" Then
NumRows = 1
Else
NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
End If
This comment was minimized by the moderator on the site
The loop works for me except it loops through every single row regardless of it being blank or not.
This comment was minimized by the moderator on the site
Lets say I have a ton of rows...any tricks on making this run faster?
This comment was minimized by the moderator on the site
Can you please explain what is the condition to stop looping? What makes you break out of the loop in Test1()?
This comment was minimized by the moderator on the site
It will stop while meeting the first blank in the column
This comment was minimized by the moderator on the site
Its looping a column not a row
This comment was minimized by the moderator on the site
In order to loop through a column, you must go by row number.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations