小さなお店ではスタッフのシフト表をエクセルで管理している事が多いと思いますが、時間別出勤リストを表示させるときにお休みの人は非表示にして見やすくしたいと思いませんか?
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ステートメント終了
- マクロ記録終了
このように使えば条件に応じて表示・非表示ができますよ。
関連記事
-
テキストボックス
複数のテキストボックスの値を一括で複数のセルの値に書き換える方法
【セルA1~A10の値をまとめてテキストボックス1~10に転記する】 ボウリング場のリーグ戦の成績表でも使っているエクセルで、リーグ戦のルールなどを設定するユーザー… -
セルの操作
エクセルVBAで指定した範囲の複数セルの値を一括クリアする方法
入力済みセルの値を消去することがあり、1個1個手作業で空白にするのが面倒だと思ったことはありませんか? Excel-VBAのコマンドボタンを押すことにより、指定した複数… -
セルの操作
エクセルVBAでリストの中から不要な行や列を非表示にする方法
小さなお店ではスタッフのシフト表をエクセルで管理している事が多いと思いますが、時間別出勤リストを表示させるときにお休みの人は非表示にして見やすくしたいと思い… -
セルの操作
エクセルVBAで複数セルを一括で結合・解除を繰り返し処理する方法
エクセルの表を印刷するには見栄えの為にセルの結合を行ったら、並べ替えをするとエラーになって困ったことありませんか? Mergeメソッドを書き加えれば、自動的にセル… -
セルの操作
入力済み最終行を見つけて追記・削除する方法
【エクセルVBAのユーザーフォームで一発検索する】 ボウリング場のリーグ戦成績表でも使っているエクセル。 エクセルには参加者のスコアーなど様々なデータを入力します… -
セルの操作
複数のセルの値を別のセルにコピーする
【VLOOKUPでは数式の値は検索不能?】 ボウリングのリーグ戦の成績表をエクセルで作っていて、リーグ戦では一般的に初回はレーン抽選によって対戦相手が決まり、2週目以… -
セルの操作
エクセルで苗字と名前2つのセルの値をくっつける(セルの値の結合)
CSVファイルなどを取り込んだ時に、苗字と名前が別々のセルに分かれていることが多いと思いますが、1つのセルに結合して表示したいと思ったことありませんか? 例えば…
紅葉スポット
-
千葉県の本土寺で五重塔と真っ赤に染まったもみじのコラボが見られる
6月にはあじさいが綺麗に見られ、あじさい寺として千葉県以外の観光客が多く訪れる本土寺に行かれたことがあれば気づいたかもしれませんが、あじさいの頭上にはもみじの… -
白馬岩岳の絶景「三段紅葉」へ長野駅からバスで滞在時間140分
10月下旬ごろ~11月上旬になるとテレビなどでよく話題になる絶景のビューポイントで、北アルプスの山頂が雪化粧をして赤く色づいた山麓、そして山のふもとはまだ緑色が… -
草津温泉スキー場の天狗山紅葉とライトアップされた西の河原散策へ
10月になると早々に紅葉を見ることができるので、今年の紅葉狩りのスタートはここ草津温泉からと言っても過言ではありません。 草津温泉の湯畑が有名ですが、すぐ近くに… -
伊香保温泉365段の石段の先に紅葉ライトアップされた河鹿橋絶景へ
石段と温泉街で古くから観光客が多く訪れる伊香保温泉には、群馬県の紅葉スポット人気1位・全国でもトップクラスの紅葉スポットがあります。 石段をゆっくりと登ってい… -
北関東トップクラスの日本庭園がある徳明園の標高差による紅葉絶景へ
【紅葉見頃】11月中旬~12月上旬 高崎市内循環バス「ぐるりん」バスのフリーエリア内のあるので、電車とバスを利用して気軽に訪れることができ、北関東一ともいわれる… -
長門峡の紅葉橋・竜宮淵へバスで紅葉も雪景色も楽しめる萩紅葉名所
日本の自然100選にも選ばれ紅葉シーズンには臨時シャトルバスも運行される長門峡(ちょうもんきょう)へは、JR山口線でも防長交通バスでも行くことができるので、全長5….