こんな人にオススメの記事です
- 不要な空白行を一括で削除する方法を知りたい人
- 空白行を一括で削除するマクロを作成したい人
Excelでデータを扱っていると、途中に空白行が入り込んでしまうことがあります。
空白行が紛れていると、データ範囲を指定するときやフィルターをかける際に余計な行が挟まり、作業効率が低下します。
また、印刷プレビューで空間が空き、資料の見た目が崩れがちです。
しかし、Excelには空白行を一括で削除する機能が用意されており、少しの手順でデータをすっきり整えることができます。
そこでこの記事では、「Excelの空白行を一括で削除する」をテーマに、初心者でも迷わず実行できるシンプルな手順と、マクロを使った方法を、実際の画面を使いながらわかりやすく解説していきます。
さらに、作業後のトラブル回避策にも触れます。
Excelの標準機能で空白行を一括削除する方法
ここでは、初心者の方でもすぐに実践できる「Excelの標準機能」を活用した「空白行を一括削除」する手順を、シンプルなステップでご紹介します。
- 範囲を選択する
対象となる表の中にある任意のセルをクリックして選択してください。Ctrl
+Aキー
を押すと、表全体を簡単に選択できます。表全体を確実に選んでおくと、「空白行を一括削除」する際に手戻りが減ります。 - 空白セルを抽出する
「ホーム」タブから「検索と選択」をクリックし、「条件を選択してジャンプ」を選びます。
すると、条件を指定できる画面が表示されますので、そこから「空白セル」を選んで「OK」を押してください。
これで、選択範囲内の空白部分が一斉にマークされます。 - 行を削除する
選択された空白セル上で右クリックし、「削除」を選びます。
表示されるメニューから「シートの行を削除」を選択して「OK」を押せば、空白行がまるごと一括で削除されます。
ここからは、Excelの標準機能で空白行を一括削除する方法を実際の画面を使いながらわかりやすく解説していきます。
空白行を削除したい範囲を選択してください。
「ホーム」タブの「編集」グループから「検索と選択」(虫眼鏡のアイコン)をクリックしてください。
展開されたメニューの中から「条件を選択してジャンプ(S)」をクリックしてください。
「条件を選択してジャンプ(S)」をクリックすると、「選択オプション」と書かれたウィンドウが立ち上がります。
そのウィンドウの中にある「空白セル(K)」にチェックを入れ、右下の「OK」をクリックしてください。
「OK」をクリックすると、Step1で選択した範囲の空白セルが選択されます。
セルが選択されている状態で、「ホーム」タブの「セル」グループにある「削除」をクリックしてください。
次に、「シートの行を削除(R)」をクリックしてください。
「シートの行を削除(R)」をクリックすると空白行がまるごと一括で削除されます。
Excelのマクロで空白行削除を自動化する方法
「Excelで空白行を削除したいけれど、毎回手動で行うのは面倒…」と感じていませんか。そんなときに便利なのが、マクロを使って空白行削除を自動化する方法です。
以下の手順でマクロを活用すれば、範囲を選択してワンクリックで処理できるため、作業効率が大幅にアップします。
- 範囲を選択する
マクロを実行する前に、空白行を削除したい範囲をドラッグして選びます。例えば、A1からD100までといった一定の領域をあらかじめ指定してください。 - VBAエディタを開く
「開発」タブが表示されていない場合はオプション設定で有効にしてください。「開発」タブから「Visual Basic」をクリックすると、VBAエディタが開きます。
※「開発」タブが表示されていない場合は、Excelでマクロやフォームを作成するための開発タブを追加する方法をご覧ください。 - マクロコードを貼り付ける
以下のサンプルコードを挿入してください。このコードは、指定範囲内で空行を検出し、まとめて削除します。 - マクロを実行する
VBAエディタを閉じて、Excel画面に戻ります。「開発」タブから「マクロ」を開き、先ほど作成した「DeleteBlankRows」を選んで「実行」をクリックします。これで、選択範囲内の空白行が一気に削除されます。
'---------------------------------------------------------------------------
' このマクロは、選択範囲内にある「空白行」を自動的に削除するためのVBAコードです。
' 下から上へと行をチェックし、非空セルがひとつもない行(=空白行)を見つけ次第、
' その行を削除します。
'
' 【使い方】
' 1. Excelで空白行を削除したい範囲を選択します(例:A1:D100)。
' 2. 開発タブから「マクロ」を開き、本マクロ「DeleteBlankRows」を実行します。
' 3. 選択範囲内の空白行が自動的に削除され、表がスッキリまとまります。
'
' 【例】
' A1:D100を選択後、マクロ実行 → この範囲内のすべての空白行が削除されます。
'
' 【ポイント】
' - 下から上へ処理する理由は、上から消すと行番号が変わり、正確な行削除が難しくなるためです。
' - 必要に応じてバックアップをとってから実行すると安心です。
'---------------------------------------------------------------------------
Sub DeleteBlankRows()
Dim targetRange As Range ' 処理対象となる選択範囲を格納する変数
Dim r As Long ' ループで使用する行番号用の変数
Dim rowCount As Long ' 選択範囲内の行数を保持する変数
' 選択範囲を取得(ユーザーがあらかじめ表や範囲を選んだ状態でマクロを実行してください)
Set targetRange = Selection
' 選択範囲内の行数を取得します
' これで、何行分のデータ(または空白行)があるかがわかります
rowCount = targetRange.Rows.Count
' 行削除は下から上へ行うことで、削除によって行数がずれないようにします
' 例えば、10行目を削除した場合、それより下の行番号がずれてしまう問題を防ぐための工夫です
For r = rowCount To 1 Step -1
' CountA関数で行内の非空セル数を数えます
' 非空セル数が0の場合は、その行は空白行ということになります
If Application.WorksheetFunction.CountA(targetRange.Rows(r)) = 0 Then
' 空白行が見つかったら、その行を削除します
targetRange.Rows(r).EntireRow.Delete
End If
Next r
' マクロ実行後、選択範囲内の空白行がすべて消え、データが詰まった状態になります
End Sub
空白行削除で失敗しないための注意点
空白行削除はデータ整理に役立つ一方、一歩間違えると必要な行まで消してしまい、取り返しがつかなくなることがあります。
特に、Excelの標準機能で削除した場合はまだCtrl
+Z
で元に戻せるケースもありますが、マクロを用いて自動処理を行うと、取り消せないこともあります。そうしたトラブルを防ぐため、以下の点を押さえておきましょう。
バックアップを用意しましょう
空白行の削除を実行する前に、必ず元データを別名で保存しておくことをおすすめします。
万が一、必要な行まで削除しても、バックアップがあれば元に戻せます。
不要なスペースや改行を除去しましょう
検索と置換機能で半角スペースや見えない文字を事前に取り除くと、空白セルが正確に抽出され、スムーズな空白行の削除が行えます。
参照範囲や数式を確認してください
グラフや数式、ピボットテーブルなどを利用している場合、空白行削除後に参照範囲がずれる可能性があります。
削除前に数式設定や範囲指定を見直すことで、トラブルを防げます。
マクロ実行は慎重にテストしましょう
マクロを使った空白行の削除は効率的ですが、Ctrl
+Z
では簡単に戻せない場合があります。
予めテスト用の小規模データで動作確認してから本番環境で実行すると、安全性が高まります。
フィルター機能で対象を明確化します
削除前にフィルター機能で空白行を抽出すると、どの行が不要かを視覚的に把握できます。
これにより、誤削除のリスクが減り、より確実な不要な空白行の削除が可能です。
処理後は必ず確認しましょう
削除後にデータ全体を見直し、必要な情報が失われていないか、表示崩れがないかをチェックします。
気になる点があれば、バックアップから再度修正できます。
Excelで空白行を一括削除する方法に関するよくある質問と答え
Excelで空白行を一括削除する方法に関するよくある質問と答えをまとめました。
その他Excelに関する記事
その他Excelに関する記事はこちらです。是非御覧ください。
-
エクセル(Microsoft Office Excel)
【Excel】画像をセルに埋め込む方法
こんな人にオススメの記事です 画像をセルの中に埋め込みたい人 セルの中に埋め込まれた画像を元に戻したい人 Excelでセルに画像を埋め込むと、セルの移動やサイズ変更... -
エクセル(Microsoft Office Excel)
【Excel】リボン(メニューバー)を常に表示する方法|デスクトップ版・Web版対応
こんな人にオススメの記事です Excelでリボン(メニューバー)が消えてしまい、戻し方がわからず困っている人 デスクトップ版だけでなくWeb版Excelでも同様の設定を行い... -
エクセル(Microsoft Office Excel)
【エクセル】自動計算されない場合の原因と対処法
こんな人にオススメの記事です エクセルの計算式が突然自動計算されなくなった場合 エクセルの計算式を自動計算したくない人 エクセルは普段は自動計算されていて、関数... -
エクセル(Microsoft Office Excel)
「マクロの実行がブロックされました」とエクセルに表示された場合の対処法
こんな人にオススメの記事です ダウンロードしたエクセルファイルを開いたら「セキュリティリスク このファイルのソースが信頼できないため、Microsoftによりマクロの実... -
エクセル(Microsoft Office Excel)
【エクセル】ハイパーリンクを簡単に解除する方法
こんな人にオススメの記事です セルのハイパーリンクを削除(解除)したい人 入力した文字が自動的にハイパーリンクになる設定を解除したい人 エクセルで作業をしている... -
エクセル(Microsoft Office Excel)
エクセル(Excel)で作成したデータをワード(Word)に貼りつける方法7選
こんな人にオススメの記事です エクセルからワードに貼り付けると毎回形が崩れてしまう エクセルのデータを更新したらワードに貼り付けた表も自動的に更新されてほしい ... -
エクセル(Microsoft Office Excel)
xls(古いエクセル)からxlsx(新しいエクセル)に変換する方法
こんな人にオススメの記事です xls形式からxlsx形式に変換したい人 新しいエクセルファイルに変換したい人 古いエクセル形式(.xls)では行や列が不足している人 エクセ... -
エクセル(Microsoft Office Excel)
【エクセル】画像サイズを一括で変更する方法をわかりやすく解説
こんな人にオススメの記事です エクセルシートに貼り付けた複数の画像のサイズを一括で変更したい人 エクセルシートに貼り付けた複数の画像を綺麗に整列させたい人 エク... -
エクセル(Microsoft Office Excel)
【エクセル】セルにポップアップメッセージを設定する方法
こんな人にオススメの記事です セルに入力すべき情報やルールをわかりやすく表示させたい人 コメント以外のメッセージを使用したい人 エクセルでセルにポップアップメッ...
最後までご覧いただきありがとうございました。
このサイトは情シスマンが半径3m以内のITに関する情報を掲載してるサイトです。
Windows系を主として、ソフトや周辺機器の操作や設定について画像も用いながらわかりやすく解説しています。
解説している内容に誤りがあった場合や、補足が必要な場合、もっと知りたい場合はこちらのお問い合わせフォームからご連絡ください。
個人の方を限定にサポートさせていただきます。
実行環境
Windows11 Home 24H2
64 ビット オペレーティング システム
11th Gen Intel(R) Core(TM) i7-11375H @ 3.30GHz 3.30 GHz
16.0 GB RAM
Microsoft 365
コメント