スポンサーリンク

エクセルVBAでON/OFF切り替えボタンを作る方法

エクセルVBA作成例Excel-VBA
エクセル関数とVBAで作ってみた
スポンサーリンク

実用性がどのくらいあるのか分かりませんが、ワークシート上には様々な要素で構成されているのでボタンをクリックするたびに非表示にしたり、表示したりできるボタンがあると画面がスッキリして見やすくなったので作ってみました。

スポンサーリンク

ワークシートの構成要素

ワークシートには下記のように画面構成されて、7つの要素を消すことにより無駄なスペースが無くなるので表示可能エリアが広がり、見栄えもスッキリしますよ。

行番号・列番号

エクセル画面の左側にある1.2.3・・・と縦に続く行番号、上部にあるA.B.C・・・と横に続く列番号が表示されています。

この表示が無ければ、1行・1列づつですが、表示できる範囲が広がるのと見た目がスッキリするので非表示するのもひとつの方法です。

セルの枠線(グリッド線)

エクセルの各セルには縦横枠になっているグリッド線が表示されています。

表を作成して罫線が必要ならば、自分自身で使えばいいので、見た目スッキリさせるには必要ない線なので消してしまいましょう。

水平・垂直スクロールバー

エクセル画面の右下にある左右にセルの移動ができるのが水平スクロールバーで、右端にある上下にセルの移動ができるのが、垂直スクロールバーとなっています。

スクロールバーを使えば自由に表示範囲外のセルに簡単に移動できるのですが、マクロを組んでいると勝手に移動させたくない時があるので、非表示にしてしまえば解決できます。

シートの見出し

エクセル画面の一番下にSheet1、Sheet2・・・とシートが記載されています。

シート名をクリックすれば別シートに移動できますが、勝手に移動させたくない場合がマクロを組んでいるとありますよね。

そんな時はシート非表示にしてしまえば、勝手に移動できなくなりますよ。

数式バー

エクセル画面のリボンツールバーとワークシートの間にある隙間で、セルに入力されている数式や値を表示しています。

意地悪をして苦労して組み合わせた数式を見せたくないときなんかには、非表示にして隠してしまいましょう。

ステータスバー

エクセル画面の一番下にシート名や水平スクロールバーが表示されている部分で、シート名もスクロールバーも非表示にしたならば、ステータスバー自体も不要になるので、非表示にしてしまいましょう。

リボンツールバー

エクセルリボンツールバー
クリックで拡大します

エクセルの画面上部にある見慣れた基本操作パネルみたいなもので、リボンツールバーが表示されていないと、保存も文字の大きさ変更などの基本操作すらできなくなってしまいます。

ユーザーフォームでの操作に限定させたり、各種配置したボタンなどからだけの操作に限定させたい場合などにはとても有効です。

スポンサーリンク

非表示・表示を繰り返すマクロ

ここでは、ワークシート上に配置したボタンに7つの要素を非表示・表示を繰り返し切り替えてくれるVBAコードを書いています。

VBAコード

Sub ボタン1_Click()
With ActiveWindow
.DisplayHeadings = Not .DisplayHeadings
.DisplayGridlines = Not .DisplayGridlines
.DisplayHorizontalScrollBar = Not .DisplayHorizontalScrollBar
.DisplayVerticalScrollBar = Not .DisplayVerticalScrollBar
.DisplayWorkbookTabs = Not .DisplayWorkbookTabs
End With
With Application
.DisplayFormulaBar = Not .DisplayFormulaBar
.DisplayStatusBar = Not .DisplayStatusBar
End With
If Application.CommandBars(“Ribbon”).Visible = True Then
Application.ExecuteExcel4Macro “SHOW.TOOLBAR(“”Ribbon””,False)”
Else
Application.ExecuteExcel4Macro “SHOW.TOOLBAR(“”Ribbon””,True)”
End If
End Sub

VBA解説
  1. ボタン1をクリックしたら
  2. 現在表示中のエクセルワークシートを操作する
  3. 行番号・列番号の非表示・表示を切り替える
  4. セルの枠線(グリッド線)の非表示・表示を切り替える
  5. 水平スクロールバーの非表示・表示を切り替える
  6. 垂直スクロールバーの非表示・表示を切り替える
  7. シートの見出しの非表示・表示を切り替える
  8. Withステートメント終了
  9. VBA実行中に作業する
  10. 数式バーの非表示・表示を切り替える
  11. ステータスバーの非表示・表示を切り替える
  12. Withステートメント終了
  13. もし、リボンツールバーが表示中ならば
  14. リボンツールバーを非表示にする
  15. そうでなかったら(非表示中ならば)
  16. リボンツールバーを表示する
  17. Ifステートメント終了
  18. マクロ終了

このように全てのエクセル要素が非表示になり画面スッキリ、表示エリア拡張できました。

display-onoff
クリックで拡大します

Excel-VBAもくじへ

Excel-VBA エクセル
スポンサーリンク



とりっぷぼうるをフォローする
とりっぷぼうる

コメント