小さなお店ではスタッフのシフト表をエクセルで管理している事が多いと思いますが、時間別出勤リストを表示させるときにお休みの人は非表示にして見やすくしたいと思いませんか?
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で複数セルを一括で結合・解除を繰り返し処理する方法
エクセルの表を印刷するには見栄えの為にセルの結合を行ったら、並べ替えをするとエラーになって困ったことありませんか? Mergeメソッドを書き加えれば、自動的にセル… -
セルの操作
エクセルVBAでリストの中から不要な行や列を非表示にする方法
小さなお店ではスタッフのシフト表をエクセルで管理している事が多いと思いますが、時間別出勤リストを表示させるときにお休みの人は非表示にして見やすくしたいと思い… -
テキストボックス
複数のテキストボックスの値を一括で複数のセルの値に書き換える方法
【セルA1~A10の値をまとめてテキストボックス1~10に転記する】 ボウリング場のリーグ戦の成績表でも使っているエクセルで、リーグ戦のルールなどを設定するユーザー… -
セルの操作
複数のセルの値を別のセルにコピーする
【VLOOKUPでは数式の値は検索不能?】 ボウリングのリーグ戦の成績表をエクセルで作っていて、リーグ戦では一般的に初回はレーン抽選によって対戦相手が決まり、2週目以… -
セルの操作
入力済み最終行を見つけて追記・削除する方法
【エクセルVBAのユーザーフォームで一発検索する】 ボウリング場のリーグ戦成績表でも使っているエクセル。 エクセルには参加者のスコアーなど様々なデータを入力します… -
セルの操作
エクセルで苗字と名前2つのセルの値をくっつける(セルの値の結合)
CSVファイルなどを取り込んだ時に、苗字と名前が別々のセルに分かれていることが多いと思いますが、1つのセルに結合して表示したいと思ったことありませんか? 例えば… -
セルの操作
エクセルVBAで指定した範囲の複数セルの値を一括クリアする方法
入力済みセルの値を消去することがあり、1個1個手作業で空白にするのが面倒だと思ったことはありませんか? Excel-VBAのコマンドボタンを押すことにより、指定した複数…
紅葉スポット
-
竜頭の滝の紅葉へ日光駅からバスで日光三名瀑を見に滞在時間60分
【紅葉見頃】 10月中旬~10月下旬 竜頭の滝といえば、奥日光の紅葉スポットとして大人気なので、コロナ前は訪日外国人と日本人で大混雑して、茶屋の中から見る竜頭の滝… -
伊香保温泉365段の石段の先に紅葉ライトアップされた河鹿橋絶景へ
石段と温泉街で古くから観光客が多く訪れる伊香保温泉には、群馬県の紅葉スポット人気1位・全国でもトップクラスの紅葉スポットがあります。 石段をゆっくりと登ってい… -
日光自然博物館へバスで日光駅から紅葉景色へ滞在時間50分
【紅葉見頃】10月中旬~11月下旬 中禅寺湖から竜頭の滝や戦場ヶ原方面と反対方向に行くと、中禅寺湖を一望できる半月山展望台と中禅寺湖展望台があり、その途中の中禅… -
古峯神社の天狗の御朱印と紅葉名所へ鹿沼駅からバスで行く
御朱印を集める趣味が流行っていますが、ここ古峯神社の御朱印は天狗をイメージしたデザインで何種類あるかわかないぐらい様々あります。 そして、紅葉見頃となる10月中… -
長門峡の紅葉橋・竜宮淵へバスで紅葉も雪景色も楽しめる萩紅葉名所
日本の自然100選にも選ばれ紅葉シーズンには臨時シャトルバスも運行される長門峡(ちょうもんきょう)へは、JR山口線でも防長交通バスでも行くことができるので、全長5…. -
鶴沼原生花園アッケシソウ群落で地上で見られるサンゴ岬の一面赤い世界
北海道の北東部に位置する湧別町でサロマ湖の西側にサンゴ岬という場所があり、なんと地上にサンゴ草と言われる群生地が広がっています。 毎年9月中旬頃になるとアッケ…