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

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

はじめに

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

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

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

まずはコードを確認

Columns(3).Hidden = True

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

コードのしくみを解説

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

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

Columns("C:E").Hidden = True   'C〜E列を非表示

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

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

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

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

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

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

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

列を再表示する

Columns(3).Hidden = False

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

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

If Cells(1, 3).Value = "" Then
Columns(3).Hidden = True
End If

見出しが空白の列を隠すなど、実務でよく使うパターンです。

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

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

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

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

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

まとめ

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

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


decopon
decopon

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

moco
moco

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

コメント

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