Excelで非表示の行列を一括で再表示する方法!複数シートも!

Excelで非表示の行列を一括で再表示する方法!複数シートも!
Excelで非表示にしてしまった行や列を、まとめて再表示したいときはないでしょうか。

けど、そんな中で悩むことは、

・行番号や列記号が飛んでいて、どこが非表示かわからない
・1つずつ右クリックして「再表示」するのが手間
・複数シートを1枚ずつ直していくのが大変

ですよね。

今回はそんなお悩みを解決する

・Excelで非表示の行列を一括で再表示する方法(全選択・複数シート・VBA)

についてまとめます!

完成イメージ

非表示の行や列は、表全体を選択してから「再表示」すると、まとめて元に戻せます。
今回は
・非表示の行と列を一括で再表示する方法(手作業・全選択・複数シート・VBA)
をゴールにします。
行番号と列記号が飛んでいる表も、ひと手間で連続した状態に戻せます。

なお、非表示の見分け方や、再表示できないときの対処法(トラブルシュート)もあわせてご紹介します。
早速実装して試してみましょう!
完成イメージ
上の画像が完成形です。非表示だった3行(3・5・8行目)と1列(B列)がすべて再表示され、行番号と列記号が連続して並んでいます。

STEP1. 元の表を用意する

まずは行や列を非表示にする、売上明細のサンプル表を用意します。
A列が商品名、B列が担当者、C列が数量、D列が単価、E列が金額です。
1行目が見出し、2行目以降がデータで、12件あります。
金額のE列は =C2*D2 の数式にしておきましょう。
今回は、うすく色を付けた3・5・8行目とB列(担当者)を非表示にします。
色を付けておくと、あとで「どこが戻ったか」が分かりやすくなります。
サンプルの売上明細表

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。

商品名 担当者 数量 単価 金額
ノートPC 佐藤 3 128000
モニター 鈴木 5 32000
キーボード 高橋 12 4800
マウス 田中 20 2200
プリンタ 伊藤 4 29800
タブレット 渡辺 6 45000
ヘッドセット 佐藤 15 6800
Webカメラ 鈴木 8 7200
USBメモリ 高橋 30 1500
外付けHDD 田中 2 9800
スピーカー 伊藤 7 5600
ルーター 渡辺 5 12000

※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。

STEP2. 非表示になっている状態を確認する

まずは、行と列を非表示にした状態を見てみましょう。
今回は3・5・8行目と、B列(担当者)を非表示にしました。
行番号が 1・2・4・6・7… と飛んでいるのがわかります。
列記号も A・C・D・E となり、Bが抜けています。
このように、行番号や列記号が飛んでいたら、その間が非表示です。
逆にいえば、番号が連続していれば非表示はありません。
どこが非表示になっているか分からないときは、この番号の飛びを目印にしてください。
行3・5・8とB列を非表示にした表

STEP3. 非表示の行を再表示する

非表示の行を戻すには、行番号を右クリックします。
戻したい行をまたぐように、行番号をドラッグして選択します。
選択した行番号の上で右クリック → 「再表示」をクリックします。
すると、隠れていた行が元どおりに表示されます。
今回は3・5・8行目をまとめて選択して再表示しました。
行番号が1から13まで連続になりましたね。
まだB列(担当者)は非表示のままなので、列記号はA・C・D・Eのままです。
行を再表示した状態

STEP4. 非表示の列を再表示する

列も同じ考え方で戻せます。
戻したい列をまたぐように列記号をドラッグして選択します。
選択した列記号の上で右クリック → 「再表示」をクリックします。
今回はA列からC列までを選択して、隠れていたB列を戻しました。
左端のA列や1行目が非表示のときは、少しコツがいります。
そのときは列記号の左端や、1のすぐ上の境界を右クリックして「再表示」を選ぶと戻せます。
これで行番号も列記号も、すべて連続になりました。
うすく色を付けた3・5・8行目とB列が、ちゃんと戻っているのが分かりますね。
列を再表示した完成表

STEP5. Ctrl+Aでシート全体を一括再表示する

1か所ずつ戻すのが手間なときは、シート全体をまとめて再表示するのがおすすめです。
表の中のセルを選択した状態で Ctrl+A を押すと、シート全体が選択されます。
この状態で行番号(または列記号)の上で右クリックし、「再表示」をクリックします。
すると、シート内の非表示の行も列も、一度に戻ります。
今回は、いったん3・5・8行目とB列を非表示に戻してから、この操作を試しました。
画像のとおり、すべての行と列が表示されています。
どこが非表示か分からないときは、この全選択がいちばん確実ですね。
Ctrl+Aで全選択して一括再表示した状態

STEP6. 複数シートをまとめて再表示する

ブックに複数のシートがあるときは、1枚ずつ直すのは大変です。
まずは、Ctrlキーを押しながらシート見出しをクリックして、複数のシートをまとめて選択します。
シート見出しの表示が「作業グループ」になっていれば、複数シートが選べています。
この状態でシート全体(Ctrl+A)を選び、行番号を右クリック → 「再表示」を実行します。
選択したすべてのシートに、同じ操作が一度に反映されます。
ただし、グループを解除し忘れると、以後の入力も全シートに入ってしまいます。
操作が終わったら、シート見出しを右クリック → 「作業グループの解除」で元に戻しておきましょう。
シートが多いときは、次のVBAを使うほうが確実でラクです。

STEP7. VBAで一括再表示する

最後に、VBAで一括再表示する方法です。
Alt+F11 でVBAエディターを開き、標準モジュールに次のコードを貼り付けます。
実行すると、シート内のすべての行と列が一度に再表示されます。

Sub UnhideAll()
    ' アクティブシートの全行・全列を再表示する
    Rows.Hidden = False
    Columns.Hidden = False
End Sub

たった2行で、非表示の行と列をまとめて戻せます。
カンタンですね。
特定の列だけを戻したいときは Columns(“B”).Hidden = False のように指定します。
行の場合は Rows(“3:3”).Hidden = False です。
実際に実行すると、隠れていた行と列が戻りました。
どの行・列が戻ったか分かるように、色を付けて確認しています。

複数シートをまとめて再表示するVBA

ブック内のすべてのシートを対象にしたいときは、For Eachでシートを繰り返します。

Sub UnhideAllSheets()
    ' ブック内のすべてのシートの非表示を解除する
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Rows.Hidden = False
        ws.Columns.Hidden = False
    Next ws
End Sub

これで、シートが何枚あっても、ボタン1つで全シートの非表示を解除できます。
毎回のチェック作業から解放されるので、とてもラクになります。

タカヒロ

タカヒロ
Rows.Hidden = False は「行の非表示をぜんぶ解除する」という意味です。
列は Columns.Hidden = False に変えるだけなので、2つセットで覚えてしまうのがおすすめですよ。


VBAで一括再表示した表

再表示の方法の比較

ここまでの内容を、用途ごとに使い分けられるよう表にまとめました。

方法 操作 向いている場面
行番号を右クリック 行番号をドラッグ選択 → 右クリック →「再表示」 数行だけ戻したいとき
列記号を右クリック 列記号をドラッグ選択 → 右クリック →「再表示」 数列だけ戻したいとき
Ctrl+A(全選択) シート全体を選択 → 右クリック →「再表示」 どこが非表示か分からないとき
作業グループ Ctrl+シート見出しで複数選択 → まとめて再表示 同じ構成の複数シートを直したいとき
VBA Rows.Hidden / Columns.Hidden = False 毎回の作業を自動化したいとき
POINT

非表示の行・列は 「右クリック → 再表示」で戻せます。
Ctrl+A でシート全体を選べば、行も列もまとめて再表示できます。
複数シートは Rows.Hidden = False のVBAで一括処理が確実です。
行番号が飛んでいる=非表示のサインと覚えておきましょう。

うまくいかないときの対処法(トラブルシュート)

実際に試すと、思ったように戻らないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。

症状 原因 対処
「再表示」が選べない(グレー) 非表示の行・列が選択範囲に入っていない 非表示の行や列をまたぐように選択してから右クリックする
1行目やA列が戻らない 左端・最上段は選びにくい 列記号の左端、1のすぐ上を右クリック →「再表示」/Ctrl+Aで全選択して再表示する
シートごと消えて見つからない シートそのものが非表示になっている いずれかのシート見出しを右クリック →「再表示」→ 一覧から戻すシートを選ぶ
再表示しても行が細いまま 非表示になる前に行の高さが小さかった 行番号を選択 → 右クリック →「行の高さ」で数値を指定する
VBAを実行しても戻らない シートが保護されている 校閲 タブ → シート保護の解除を実行してから、もう一度マクロを実行する
一部の行だけ戻らない 行が「グループ化」で折りたたまれている ±ボタンをクリックして展開する/Rows.Hidden = False を実行する

機能・プロパティの説明

今回使うプロパティの概要です。
どれも非表示の操作でよく出てくるので、違いを押さえておきましょう。

Rows.Hidden / Columns.Hidden(非表示プロパティ)

書式 Rows(“3:3”).Hidden = False / Columns(“B”).Hidden = False
できること 行や列の非表示の状態を取得・設定します。False を代入すると表示、True で非表示になります。
値 True(非表示)/ False(表示中)
こんなときに 非表示の行・列を、まとめて再表示したいとき。
注意 表示中の行に False を代入しても、エラーにはなりません。まとめて実行しても安全です。
Rows.Hidden = False

EntireRow / EntireColumn(行・列全体)

書式 Range(“A3”).EntireRow.Hidden = False
できること 指定したセルが属する行(列)全体を表します。セルを基準に行全体を操作したいときに使います。
値 行全体・列全体(Rangeオブジェクト)
こんなときに 「A3セルのある行を再表示したい」のように、セルから行を戻したいとき。
注意 Rows(3) と Range(“A3”).EntireRow は同じ行を指します。読みやすい書き方で構いません。
Range("A3").EntireRow.Hidden = False

Worksheets コレクション(全シートの繰り返し)

書式 For Each ws In ThisWorkbook.Worksheets
できること ブック内のすべてのシートを、順番に取り出します。
値 シート(Worksheetオブジェクト)
こんなときに 複数シートの非表示を、まとめて解除したいとき。
注意 ThisWorkbook はマクロが入っているブック自身を指します。別のブックを対象にするときは ActiveWorkbook を使います。
For Each ws In ThisWorkbook.Worksheets

完成

非表示だった3行と1列が、すべて再表示されました。
行番号は1から13まで、列記号はAからEまで連続しています。
思ったとおりに動きましたか?
色を付けているのが、今回戻した3・5・8行目とB列です。
どこが非表示になっていたか、ひと目で分かりますね。
非表示の行と列をすべて再表示した完成表

さいごに

いかがでしょうか。

今回は、

・Excelで非表示の行列を一括で再表示する方法(全選択・複数シート・VBA)

についてまとめました。

数行だけなら行番号を右クリック、どこが非表示か分からないときはCtrl+Aで全選択、複数シートならVBAと使い分けてください。
まずは今回のサンプル表で、ぜひ一度試してみてください。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。

ぜひ試してみてください。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image