【VBA】行・列をクリック1つで「表示/非表示」にする
例えば、↑の画面で、C列を表示/非表示させたい場合、
そのVBAコードは下記になります。
ご参考までに。
このコードでは
[ i = 3 ]
この数字の部分を変更すると、別の列が対象の列となり、
表示/非表示 となります。
一度に表示/非表示にする列を増やしたければ、
[ 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列が非表示状態ならば、表示状態に
といった内容になっています。
ちなみに、
「列(縦)」ではなく「行(横)」を表示/非表示にしたい場合は
上のコードの [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つで「表示/非表示」の仕掛けの出来上がりです。
なお、
・任意の図形・オブジェにマクロを登録する方法
・「ボタン1つでマクロを実行する仕掛け作り
については下記の別の記事にまとめてありますので、
宜しければ、参考にしてやってください。
VBAを使わずに「表示/非表示」
VBAでなくても「表示/非表示」をボタン一つで行う事ができます。
アウトラインの「グループ化」という機能です。
設定方法も簡単です。以下の画面と共にを参考し設定してみてください。
1.「表示/非表示」にしたい [行] or [列] を選択します
2. [データ] タブ→ [アウトライン] → [グループ化]
※グループ化を外す為には、[グループ解除] をクリック。
こちらの「表示/非表示」は簡易に設定できます。
VBAのようにコードを設定する事も必要ないので、非常に容易に設定できます。
が、私なりの1つ難点を挙げるとすれば、
上の画面のようにExcel欄外に『+』『-』ボタンが出現しますので、若干、画面が縮小される
そんなところでしょうか。
以上になります。