【VBA】行・列をクリック1つで「表示/非表示」にする

2021年9月13日

VBA_表示_非表示_1
黄色くなっている [C列] を「表示⇔非表示」にさせるVBAを考えます。

例えば、↑の画面で、C列を表示/非表示させたい場合、
そのVBAコードは下記になります。
ご参考までに。
 

このコードでは

[ i = ]

この数字の部分を変更すると、別の列が対象の列となり、
表示/非表示 となります。
一度に表示/非表示にする列を増やしたければ、
[ j = ●] などと、増やしてください。

このようにする事で、あとで編集・修正変更をかける際に、1箇所で済むようになり便利です。
 

Option Explicit

Sub HideShow_Columns()
      
 Dim i As Long
 
 i = 3     '[i]列目を表示/非表示にする
 
 If Columns(i).Hidden = False Then  'もしも[i]列目が表示されていれば
  Columns(i).Hidden = True  '非表示にする
 Else
  Columns(i).Hidden = False  '表示にする
 End If

End Sub

 
このコードの考え方としては、
 もしも現在、C列が表示されているならば、非表示に
 もしも現在、C列が非表示状態ならば、表示状態に
といった内容になっています。

VBA_表示_非表示_7
上記のコードでマクロを実行すると、C列が【表示/非表示】になります。

 
ちなみに、
「列(縦)」ではなく「行(横)」を表示/非表示にしたい場合は
上のコードの [Columns] → [Rows] へ変更するだけです。

 ◆【縦・列】・・・Columns
 ◆【横・行】・・・Rows

コードは下記になります。
 

Option Explicit

Sub HideShow_Rows()
      
 Dim i As Long
 
 i = 3     '[i]行目を表示/非表示にする
 
 If Rows(i).Hidden = False Then  'もしも[i]行目が表示されていれば
  Rows(i).Hidden = True  '非表示にする
 Else
  Rows(i).Hidden = False  '表示にする
 End If

End Sub

 
あとは、任意の図形・オブジェにマクロを登録すれば、
ボタン1つで「表示/非表示」の仕掛けの出来上がりです。
 

VBA_表示_非表示_5
適当に図形・オブジェを挿入し、それをマクロ開始のボタンとして登録すれば、「ボタン1つで!」が可能です。

 
なお、

・任意の図形・オブジェにマクロを登録する方法
・「ボタン1つでマクロを実行する仕掛け作り

については下記の別の記事にまとめてありますので、
宜しければ、参考にしてやってください。

 

広告

VBAを使わずに「表示/非表示」

VBAでなくても「表示/非表示」をボタン一つで行う事ができます。
アウトラインの「グループ化」という機能です。

設定方法も簡単です。以下の画面と共にを参考し設定してみてください。
 

VBA_表示_非表示_9
該当の箇所(【列】でも【行】)を選択し、アウトラインの『グループ化』を選択
VBA_表示_非表示_10
すると『+』『-』ボタンが出現します。これが表示/非表示の切替えボタンになります。

1.「表示/非表示」にしたい [行] or [列] を選択します
2. [データ] タブ→ [アウトライン] → [グループ化]
  ※グループ化を外す為には、[グループ解除] をクリック。

こちらの「表示/非表示」は簡易に設定できます。
VBAのようにコードを設定する事も必要ないので、非常に容易に設定できます。
が、私なりの1つ難点を挙げるとすれば、
上の画面のようにExcel欄外に『+』『-』ボタンが出現しますので、若干、画面が縮小される
そんなところでしょうか。

以上になります。

広告