「エクセル VBA:ボタン一発で列の表示/非表示を切り替える方法」
スポンサーリンク

「エクセル VBA:ボタン一発で列の表示/非表示を切り替える方法」

 

エクセルのマクロでボタン一つで不要な列を「非表示」にしたり「表示」したりする。

Sponsored Link

このボタンを作成すると、表が見やすくなり作業がやりやすくなります。

完成図

例題 「C」列をボタン一つで非表示にしたり、表示したりする

 

今回はこのエクセルサンプルを使います。

このC列をボタン一つで「非表示」にしたり、「表示」したりしたい場合に有効です。

「非表示」になるだけなので、データは消えません。ただ見えなくなるだけです。

 

任意の列を非表示にするマクロ

 

まずはマクロを作ります。メニューの「開発」タブから「マクロ」を押下します。

開発タブが無い場合はこちらで確認してください。

ボタンを押下すると「マクロ」という小窓が出てきます。

ここに自分でマクロ名を入力します。今回は「列を非表示にする」と入力しました。

入力すると「作成」ボタンが黒字になるのでそこを押下します。

 

コード

Sub 列を非表示にする()

Columns("C").Hidden = True

End Sub

 

と書き込みです(書くのが面倒なら赤線部分をコピーして貼り付けてください)。これでOKです。再び メニューから「開発」タブの「マクロ」を選び、

「列を非表示にする」という項目が追加されています。そこを選択して「実行」ボタンを押せば C列は非表示になります。

今回はC列を非表示にしましたが、非表示にしたい列を(”  ”)の中に入れれその列は消えます。

2列消したいという事であれば、同じ命令文をコピーして増やして同様に(”  ”)の中に非表示にしたい列を入れてください。

 

実行するとC列が消えました。

次に再表示するマクロ

 

非表示にした列を再び表示したい場合、同様にマクロを作成します。

名前は何でもいいですがわかりやすいように今回は「列を再表示にする」と入力し、作成ボタンを押します


コード

Sub 列を再表示にする()

Columns.EntireColumn.Hidden = False

End Sub

 

 

今度はこのような命令文を書きます。(書くのが面倒なら赤線部分をコピーしてください)

これでOKです。再び メニューから「開発」タブの「マクロ」を選び、

「列を再表示にする」という項目が追加されています。そこを選択して「実行」ボタンを押せば C列は再び表示します。

この命令文はC列だけではなく、全ての非表示の列を表示する命令文です。

 

マクロを実行するボタンを作成する

 

マクロをいちいちメニュー「開発」から「マクロ」をおして、「実行」ボタンを押すのは面倒です。

そこでボタンを表の中に作ってしまえばいつでもボタンを押すだけで「表示」「非表示」をいつでもする事が出来ます。

 

マクロボタンの作り方

 

メニューの中の「挿入」、タブの中の「図形」、プルダウンメニューから 適当な形の物を選びます。

 

マウスポインタ―が「+」に変化しますので、適当な場所で 選んだ図形を作ってください。今回の場合はボタン用図形を2個作ると良いでしょう。

そうしたら、その図形を右クリックしてプルダウンメニューから「マクロの登録」を押下。

 

マクロを選んで「OK」を押せば、そのボタンはマクロボタンとなり ボタンを押すとそのマクロが実行されます。

ボタンだけだと何のボタンかわからないので、ボタンに名前を入れましょう。

そのボタンを右クリックしてプルダウンメニューから「テキストの編集」を押下すればボタンにテキストが打ち込めるようになります。

 

これで何の機能があるボタンなのかわかるようになります。

 

完成図

注意

 

エクセルは必ずマクロ有効ファイルの拡張子.xlsmで保存してください。

そうないとマクロが保存されません。

ファイルはマクロ有効のファイルで保存

 

まとめ

 

いかがだったでしょうか。

この技は列がとても多い場合に「非表示」ボタンを押すだけでサッと見やすくなる小技です。

膨大な数字を管理をする為に、視覚で判断できるため何もわからない人が見ても簡単に見分ける事ができる等のメリットがあります。

おすすめの記事