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

行の表示・非表示を切り替えるExcelマクロ

対象: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 i
End Sub

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

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

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

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


1行目にはフィールド見出しがあると考えて、2行目から最終行までループを回して
 For i = 2 To Cells.SpecialCells(xlCellTypeLastCell).Row

非表示の行は表示して、表示されている行は非表示にしています。
  Rows(i).Hidden = Not Rows(i).Hidden

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

[スポンサードリンク]

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

TrackBack:0

TrackBack URL

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

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

.