Home » Excel VBA Rangeオブジェクト » SpecialCellsメソッド » Excel VBAで行の表示・非表示を切り替える

Excel VBAで行の表示・非表示を切り替える

対象:Excel2003, Excel2007, Excel2010

「excelで行の表示をon offにするvba」
という検索が行われていました。

Excel VBA(Visual Basic for Applications)で、行の表示をOnにしたりOffにしたりする方法を探している方による検索でしょうか。

Range.HiddenプロパティをTrueにすると非表示になり、Falseにすると表示されますから、例えば

Selection.EntireRow.Hidden = True

というコードを実行すれば、選択されていた行が非表示になります。

[スポンサードリンク]

行の表示と非表示を切り替えるサンプルマクロ

先の検索をなさった方はこれだけでOKかもしれませんが、折角なので、行の表示と非表示を切り替えるマクロを作ってみました。

Sub 行の表示と非表示を切り替える()
 Dim i As Long
 For i = 2 To Cells.SpecialCells(xlCellTypeLastCell).Row
  Rows(i).Hidden = Not Rows(i).Hidden
 Next
End Sub

先日、非表示の行をまとめて削除するマクロをご紹介しました。

行をまとめて削除する前に、本当に削除していいのかを、もう一度確認しておきたいということも、実務ではあるでしょう。

そんなときに、今回の行の表示・非表示を切り替えるマクロは使えるはずです。

上記のマクロを実行すると、非表示になっていた行だけが表示されることになりますから、本当に削除していいのか目視確認して、問題なければもう一度上記のマクロを実行して、元の表示状態に戻してやって、先日の非表示行を削除するマクロを実行すればOKです。

サンプルマクロで行っている処理

1行目にはフィールド見出しがあると考えて、2行目から最終行までループを回して

 For i = 2 To Cells.SpecialCells(xlCellTypeLastCell).Row

非表示の行は表示して、表示されている行は非表示にしています。

  Rows(i).Hidden = Not Rows(i).Hidden

VBAのNot演算子を利用することで、シンプルなコードになっています。

最終更新日時:2024-03-04 18:06

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » SpecialCellsメソッド » Excel VBAで行の表示・非表示を切り替える

「SpecialCellsメソッド」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.