本記事では、Excel (エクセル) で、空白の行または列をまとめて一括削除する方法をご紹介します。行や列を1つずつ削除すると時間がかかったりミスをしたりすることがありますが、今回の方法では特定の範囲に存在する行や列全体から空白の行・列のみを複数選択し削除できるようになります。また、同様の方法をVBAで実行したい方向けに、空白の行・列をまとめて削除するVBAコードも掲載しています。
- Excelで空白の行・列のみを複数まとめて削除したい
- Excelで空白の行・列のみを複数まとめて削除するVBAコードが知りたい
結論: 空白の行・列をまとめて削除する方法
Excel (エクセル) で、空白の行または列をまとめて一括削除する方法は下記のステップで実行できます。クリックで該当セクションにジャンプします。
- ステップ1
空白の行や列を含むデータの範囲全体を選択する
- ステップ2
Ctrl + G を押して [ジャンプダイアログ] を表示し、 [セル選択] → [空白セル] を選択し、OKをクリックする
- ステップ3
Ctrl + – (マイナス) キーを押し、 [セルの削除ダイアログ] を表示し、削除したい行または列のオプションをクリックする
操作画面のスクショを含む、詳細な解説は次のセクションで行っています。また、VBAコードについてはこちらで掲載しています。
空白の行・列をまとめて削除するステップの解説
こちらのセクションでは空白の行または列をまとめて一括削除するステップを操作画面のスクショ付きで解説していきます。ここでは空白の行を削除するステップを紹介していますが、空白の列を削除したい場合は、解説中の行と列を入れ替えて操作することで実行できます。
空白の行または列を含むデータ範囲の選択
まず初めに、空白の行または列を含むデータ範囲を選択します。下記の例では、社員情報に関するデータのうち、部署 (その他の列でもOK) の列を全選択します。
空白の行または列へのジャンプ
次に、選択範囲に存在する空白の行または列のみを選択するため、Excelのジャンプ機能を実行します。ジャンプ機能は Ctrl + G を押して呼び出すことができます。
表示された [ジャンプダイアログ] で [セル選択] → [空白セル]、と進みOKをクリックします。これにより、先程選択したデータ範囲内に存在する空白行 (または空白列) のみが選択状態となっていることが確認できます。
空白の行・列をまとめて削除する
最後に、選択された空白行 (または空白列) をまとめて行または列ごと削除します。現在、空白セルのみが選択状態になっているので、そのまま Ctrl + – (マイナス) キーを押します。これにより、セルの削除画面が表示されるので、空白行を削除したい場合は [行全体]、空白列を削除したい場合は [列全体] をクリックします。
これにより、現在のシート内で空白を含む行全体 (または列全体) がまとめて削除され、テーブル内に空白行がない状態となります。
空白の行・列をまとめて削除するVBA (マクロ)
最後に、ここまで紹介した空白の行・列をまとめて削除する処理と全く同じ操作をVBAで実行するためのコードをご紹介します。こちらのコードでは、以下の操作を実現しています。
- 削除タイプの選択: ユーザーに対して、行を削除するか列を削除するかを尋ねるダイアログボックスが表示されます
- 空白セルの検出と削除: 選択範囲内のセルを特定し、空白の行または列を削除します
Sub DeleteRowsOrColumnsUsingSelection()
' Written by consulting-campus.site
Dim deleteType As Integer
Dim deleteCondition As Integer
' Thorw error when cells are not selected
If TypeName(Selection) <> "Range" Then
MsgBox "選択範囲が無効です。セル範囲を選択してください。", vbExclamation
Exit Sub
End If
' Ask whether to delete rows or columns
deleteType = MsgBox("行を削除しますか?(「いいえ」を選ぶと列を削除します)", vbYesNoCancel + vbQuestion)
If deleteType = vbCancel Then Exit Sub
' Delete rows or columns
Application.ScreenUpdating = False
If deleteType = vbYes Then
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Else
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
Application.ScreenUpdating = True
MsgBox ("完了しました")
End Sub
まとめ
以上が、Excelで空白行または空白列をまとめて削除する方法のご紹介となります。
ご質問やご不明点がある場合はお気軽にコメントお待ちしております。
ご精読いただきありがとうございました。
コメント