【VBA】列の非表示・再表示

Excelで「一時的に不要な列を隠したい」「必要なときだけ列を表示したい」と思ったことはありませんか?
VBAを使えば、列の非表示・再表示を簡単に自動化できます。ここでは、基本の操作方法と具体例を紹介します。


1. 列を非表示にする

列を非表示にするには、Columns.Hiddenプロパティを使います。

基本構文

Columns(列番号).Hidden = True

または

Columns("列記号").Hidden = True

例:C列を非表示にする

Sub 列を非表示にする()
Columns("C").Hidden = True
End Sub

このコードを実行すると、C列が画面上から見えなくなります。ただし、データは削除されていません。


複数列をまとめて非表示にする

Sub 複数列を非表示にする()
Columns("B:D").Hidden = True
End Sub

この例では、B列からD列までが一度に非表示になります。


2. 列を再表示する

非表示にした列を再表示するには、HiddenプロパティにFalseを設定します。

基本構文

Columns(列番号).Hidden = False

または

Columns("列記号").Hidden = False

例:C列を再表示する

Sub 列を再表示する()
Columns("C").Hidden = False
End Sub

複数列をまとめて再表示する

Sub 複数列を再表示する()
Columns("B:D").Hidden = False
End Sub

3. 列の状態を切り替える例

列が非表示かどうかを判定して、表示・非表示を切り替えることもできます。

Sub 列の表示切り替え()
With Columns("E")
.Hidden = Not .Hidden
End With
End Sub

このコードは、E列が表示されていれば非表示に、非表示なら表示に切り替えます。


4. 注意点

  • 非表示にした列のデータは残っているため、計算や検索に影響する場合があります。
  • シートの保護設定によっては、列の非表示・再表示ができないことがあります。
  • Range("C1").EntireColumn.Hidden = Trueのように、セルを基準に列全体を指定することもできます。

まとめ

操作内容コード例
列の非表示Columns("C").Hidden = True
複数列の非表示Columns("B:D").Hidden = True
列の再表示Columns("C").Hidden = False
複数列の再表示Columns("B:D").Hidden = False
状態の切り替え例Columns("E").Hidden = Not .Hidden

VBAで列の非表示・再表示を覚えておくと、見せたい情報だけを整理して表示することができ、作業効率がアップします。ぜひ活用してください。

コメント

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