【Excel VBA】行を非表示にする基本コードとやさしい解説

VBA & Excel
スポンサーリンク
スポンサーリンク

はじめに

Excelで作業をしていると、
「一時的に行を隠して見やすくしたい」
「条件に合う行だけ非表示にしたい」
そんな場面がよくあります。

VBAでは、行を非表示にする方法がいくつかあり、
目的に合わせて使い分けることで、コードがより安全で扱いやすくなります。

ここでは、行を非表示にする基本のコードと、そのしくみを解説します。

まずはコードを確認

Rows(3).Hidden = True

もっともシンプルな書き方です。
3行目を非表示にします。

コードのしくみを解説

Rows(行番号).Hidden = True で行を非表示にする

Hidden = True は、行を隠すためのプロパティです。

Rows("3:5").Hidden = True   '3〜5行を非表示

複数行をまとめて非表示にすることもできます。

Range を使って行を非表示にする

Range("A3").EntireRow.Hidden = True
  • セルを基準に行全体を非表示にしたいときに便利
  • EntireRow は「そのセルが属する行」を指します

シートを指定して非表示にする

Worksheets("データ").Rows(3).Hidden = True

複数シートを扱う場合は、シート名を明示すると安全です。

あわせて知っておきたいポイント

行を再表示する

Rows(3).Hidden = False

非表示を解除するときは False を指定します。

条件に合う行だけ非表示にする例

If Range("A3").Value = "" Then
Rows(3).Hidden = True
End If

空白行を隠すなど、実務でよく使うパターンです。

ループで複数行を非表示にする

Dim i As Long
For i = 1 To 10
If Cells(i, 1).Value = "非表示" Then
Rows(i).Hidden = True
End If
Next i

条件に応じて行を隠す処理は、データ整理で役立ちます。

使うときに気をつけたいこと

  • 非表示にした行は見えないだけで削除されません
    → データは残っているため、後で再表示できます。
  • 結合セルがあると非表示範囲が広がることがあります
    → 必要に応じて結合を解除してから操作します。
  • フィルターと競合する場合があります
    → フィルター中の非表示は、意図しない動作になることがあります。

まとめ

  • Rows(番号).Hidden = True で行を非表示にできる
  • EntireRow を使うとセル基準で行全体を非表示にできる
  • 条件付き非表示や複数行非表示など、実務で便利な書き方も多い
  • 非表示は削除ではないため、後から再表示できる

行の非表示を自動化できると、データの見やすさがぐっと向上します。


decopon
decopon

行を非表示にする処理は、表を整えるときにとても便利な機能です。
必要な情報だけを見やすくすることで、作業がスムーズになります。

moco
moco

ちょっと隠しておきたい行は、VBAにそっとお願いしよう。
人は、必要な情報に集中できるね。

コメント

タイトルとURLをコピーしました