小さなお店ではスタッフのシフト表をエクセルで管理している事が多いと思いますが、時間別出勤リストを表示させるときにお休みの人は非表示にして見やすくしたいと思いませんか?
Excel-VBAを使えば簡単に不要な行や列を非表示にしたり再表示させる方法をご紹介します。
Hiddenプロパティ
Hiddenプロパティを使う事により、個別の行や列に対して表示・非表示の設定ができるようになります。
これにより、IFステートメントを組み合わせることで、条件に応じて非表示にしたり、再表示させることが簡単にできるようになりますので、まずは基本的な使い方からご紹介します。
決まった1行を非表示にする
例えば3行目を非表示にするだけならば、ユーザーフォームに配置したコマンドボタンに下記VBAコードを書くだけです。
Private Sub CommandButton1_Click()
Rows(3).Hidden = True
End Sub
- コマンドボタン1がクリックされたら
- 3行目を非表示にする
- マクロ記録終了
たったこれだけですが、実用的ではありませんね。
決まった範囲の行を非表示にする
これも実際には使っていないのですが、複数行(例えば3行目~5行目)を非表示にするには、下記のようなVBAコードを記載します。
Private Sub CommandButton1_Click()
Rows(“3:5”).Hidden = True
End Sub
- コマンドボタン1がクリックされたら
- 3行目~5行目を非表示にする
- マクロ記録終了
非表示した行を表示させる
次に、非表示にしてある行を表示させるには、Trueの部分をFalseに代えるだけです。
決まった1列を非表示にする
行の次は列の日表示させる方法をご紹介します。
行の時と同様に3列目を非表示にするだけならば、行の部分「Rows」を列を表す「Columns」に置き換えて、3列目はC列に代えるだけです。
Private Sub CommandButton1_Click()
Columns(“C”).Hidden = True
End Sub
- コマンドボタン1がクリックされたら
- C列を非表示にする
- マクロ記録終了
行の時と異なるのは、()内が数字ならば(3)と記載するだけなのですが、列の場合はアルファベットなので(“C”)と””が必要になることぐらいです。
決まった範囲の列を非表示にする
複数列の場合も行の時と同じなので3列目から5列目は、C列~E列となります。
Private Sub CommandButton1_Click()
Columns(“C:E”).Hidden = True
End Sub
このように行と列を非表示・表示させ方法は同じように扱うことができますし、表示方法も同じTrueをFalseにするだけです。
そして、行と列を同時に行うならば続けてVBAコードを記載すれば可能です。
Private Sub CommandButton1_Click()
Rows(“3:5”).Hidden = True
Columns(“C:E”).Hidden = True
End Sub
それでは、次に実用的な条件に応じて行を非表示にする例としてのVBAコードをご紹介します。
条件に応じて行を非表示にする
セルA1の値が0の時に非表示にして、それ以外ならば表示させるVBAコードです
Private Sub CommandButton1_Click()
If Range(“A1”).Value = 0 Then
Rows(1).Hidden = True
Else
Rows(1).Hidden = False
End If
End Sub
- コマンドボタン1がクリックされたら
- もしセルA1の値が0だったら
- 1行目を非表示にする
- そうでなかったら
- 1行目を表示する
- IFステートメント終了
- マクロ記録終了

このように使えば条件に応じて表示・非表示ができますよ。
関連記事
-
エクセルVBAで指定した範囲の複数セルの値を一括クリアする方法
入力済みセルの値を消去することがあり、1個1個手作業で空白にするのが面倒だと思ったことはありませんか? Excel-VBAのコマンドボタンを押すことにより、指定した複数… -
エクセルVBAでリストの中から不要な行や列を非表示にする方法
小さなお店ではスタッフのシフト表をエクセルで管理している事が多いと思いますが、時間別出勤リストを表示させるときにお休みの人は非表示にして見やすくしたいと思い… -
エクセルVBAで複数セルを一括で結合・解除を繰り返し処理する方法
エクセルの表を印刷するには見栄えの為にセルの結合を行ったら、並べ替えをするとエラーになって困ったことありませんか? Mergeメソッドを書き加えれば、自動的にセル… -
複数のテキストボックスの値を一括で複数のセルの値に書き換える方法
【セルA1~A10の値をまとめてテキストボックス1~10に転記する】 ボウリング場のリーグ戦の成績表でも使っているエクセルで、リーグ戦のルールなどを設定するユーザー… -
入力済み最終行を見つけて追記・削除する方法
【エクセルVBAのユーザーフォームで一発検索する】 ボウリング場のリーグ戦成績表でも使っているエクセル。 エクセルには参加者のスコアーなど様々なデータを入力します… -
エクセルで苗字と名前2つのセルの値をくっつける(セルの値の結合)
CSVファイルなどを取り込んだ時に、苗字と名前が別々のセルに分かれていることが多いと思いますが、1つのセルに結合して表示したいと思ったことありませんか? 例えば… -
複数のセルの値を別のセルにコピーする
【VLOOKUPでは数式の値は検索不能?】 ボウリングのリーグ戦の成績表をエクセルで作っていて、リーグ戦では一般的に初回はレーン抽選によって対戦相手が決まり、2週目以…
紅葉スポット
-
亀山湖畔の紅葉へ上総亀山駅から徒歩で行けて滞在時間2時間半
ダムによってできた湖・亀山湖には湖畔を周回できるサイクリングロードやボートハウスがあり、風の弱い日には湖面に反射する紅葉景色が鏡のように見られます。 最寄り駅… -
古峯神社の天狗の御朱印と紅葉名所へ鹿沼駅からバスで行く
御朱印を集める趣味が流行っていますが、ここ古峯神社の御朱印は天狗をイメージしたデザインで何種類あるかわかないぐらい様々あります。 そして、紅葉見頃となる10月中… -
塩原温泉・紅の吊橋の紅葉絶景へ那須塩原駅や黒磯駅からバスで行く
【紅葉見頃】10月下旬~11月中旬 塩原温泉郷と言えば、箒川(ほうきがわ)沿いに温泉旅館が点在している首都圏からも近い温泉街ですが、紅葉の時期になるとカエデやも… -
鬼怒川温泉駅からバスで川俣ダムと瀬戸合峡渡らっしゃい吊橋紅葉へ
【紅葉見頃】10月中旬~11月上旬 紅葉を見に日光を訪れて中禅寺湖周辺を目指して、大渋滞や混雑に巻き込まれて大変な思いをした方多いと思いますが、関東エリアの紅葉… -
お得なきっぷで電車とバスで行ける関東の紅葉人気スポット
関東長野県群馬県栃木県千葉県埼玉県茨城県静岡県 【関東エリアの人気紅葉スポット】 関東地方で紅葉名所といえばなんといっても日光ですが、紅葉シーズンになると平日… -
那須岳・那須ロープウェイへ那須塩原駅や黒磯駅からバスで行く
天皇皇后両陛下や皇族の方々のご静養の場所があるほど、自然豊かな那須高原のシンボルでもある那須岳は、夏は過ごしやすい避暑地として、秋には色とりどりの木々の紅葉…