空白の行を削除して上に詰めるには? フィルター、ジャンプ、VBAを使用 | EXCELトピックス

スポンサーリンク
スポンサーリンク

空白の行を削除して上に詰めるには?

Excelでデータの中に空白の行があると、集計や分析がしにくくなることがあります。このような場合、空白行を削除してデータを上に詰めると、整理しやすくなります。この記事では、Excelで空白行を効率的に削除する方法について解説します。

方法1: フィルターを使って空白行を削除する

フィルター機能を使うことで、空白行を簡単に削除し、データを上に詰めることができます。

手順

  1. 空白行を含むデータ範囲(例:A2:A20)を選択します。
  2. 「データ」タブから「フィルター」をクリックし、フィルター機能を有効にします。
  3. フィルターのドロップダウンメニューから「空白セル」を選択し、空白行のみを表示させます。
  4. 空白行をすべて選択し、右クリックして「削除」を選択します。
  5. フィルターを解除し、データが上に詰まっていることを確認します。

方法2: [ジャンプ]機能を使って空白行を削除する

「ジャンプ」機能(セル選択オプション)を使用して空白セルを一括選択し、空白行を削除する方法もあります。

手順

  1. データ範囲(例:A2:A20)を選択します。
  2. 「ホーム」タブから「検索と選択」→「ジャンプ」をクリックし、「ジャンプ」ダイアログを開きます。
  3. 「セル選択」オプションで「空白セル」を選び、「OK」をクリックします。選択範囲内の空白セルがすべて選択されます。
  4. 空白セルを選択したまま、右クリックし「削除」を選択、「行全体を削除」を選んで空白行を削除します。

方法3: VBAマクロを使用して空白行を一括削除する オススメ!

空白行が多い場合には、VBAマクロを使用することで効率的に空白行を削除できます。

VBAコードの手順

  1. 「開発」タブから「Visual Basic」をクリックして、VBAエディタを開きます。
  2. 「挿入」→「標準モジュール」を選択し、次のコードを入力します。

VBAコード:

Sub DeleteEmptyRows()
    Dim LastRow As Long
    Dim i As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = LastRow To 1 Step -1
        If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
            Rows(i).Delete
        End If
    Next i
End Sub

VBAコードの説明

  • LastRow: データが入力されている最後の行を取得します。
  • For i = LastRow To 1 Step -1: 下から上に向かって行をチェックします。
  • CountA(Rows(i)) = 0: 行のセルがすべて空白かどうかを判定します。空白の場合、その行を削除します。

以下の表では、A列に空白行が含まれています。空白行を削除することで、データが上に詰められます。

A B
1 データ1 値1
2
3 データ2 値2
4
5 データ3 値3

結果

  • 空白行が削除され、データが上に詰まって表示されます。

まとめ

Excelで空白行を削除してデータを上に詰めるには、フィルター機能、ジャンプ機能、VBAマクロを使用する方法があります。データの量や操作の手間に応じて、最適な方法を選択してください。

開発タブが表示されていないとき

開発タブを表示させるには? VBAやマクロの設定のために | EXCELトピックス
開発タブが表示されず、VBAやマクロの設定ができない場合の対処法ExcelでVBAやマクロを使用するためには、「開発」タブが必要ですが、初期設定では表示されていません。「開発」タブを表示する設定方法を以下にご紹介します。開発タブを表示させる方法「開発」タブは、Excelのオプション設定で表示することができます。以下の手...