エクセルVBAを使ってワークシートにある行番号と列番号を非表示にする方法
ワークシート画面上にある「1」から始まる行番号と「A」から始まる列番号を表示させなくしたいと思ったことありませんか?
正直見た目の問題なので、気にしないことが多いと思いますが「DisplayHeadingsプロパティ」を使うと簡単に非表示にできるので、エクセル画面がすっきりとしますよ。
行番号・列番号を非表示
行番号と列番号は上記画面で「③」の部分で、行(縦)が数字で列(横)がアルファベットで記載されている部分です。
今回はこの行番号と列番号自体を非表示にして、ワークシートのスペースを広げることができます。
DisplayHeadingsプロパティ
DisplayHeadingsプロパティとActiveWindowを組み合わせると、現在表示しているエクセルシートの行番号と列番号を表示したり非表示にしたりすることができるようになります。
- 行番号・列番号を非表示・・・False
- 行番号・列番号を表示・・・・True
では実際にここでは、ユーザーフォームに配置したコマンドボタンに行番号・列番号を表示・非表示にするVBAコードを書いていきましょう。
行番号・列番号を非表示にするには、.DisplayHeadingsをFalseに指定することでできるようになります。
Private Sub CommandButton1_Click()
With ActiveWindow
.DisplayHeadings = False
End With
End Sub
- コマンドボタン1が押されたら
- 現在表示中のワークシートを操作する
- 行番号・列番号の表示を非表示にする
- withステートメント終了
- マクロ終了
これで、コマンドボタン1が押されたら行番号・列番号が非表示になります。
行番号・列番号を再表示
行番号・列番号を非表示にできたら、再表示できないと不都合なので、.DisplayHeadingsをTrueに指定することでできるようになります。
Private Sub CommandButton1_Click()
With ActiveWindow
.DisplayHeadings = True
End With
End Sub
- コマンドボタン1が押されたら
- 現在表示中のワークシートを操作する
- 行番号・列番号の表示を表示する
- withステートメント終了
- マクロ終了
非表示のFalseを表示のTrueに変更するだけで完成するのとても簡単です。
この方法でも問題ないのですが、ちょっと工夫すると1つのコマンドボタンで非表示も再表示もできるんですよ!
クリックするたびに行列番号の表示/非表示を切り替え
なんでもかんでもできるわけではないのですが、この種の表示・非表示の切り替えには、FalseやTrueの代わりにNot演算子を使用するとできるようになります。
Private Sub CommandButton1_Click()
With ActiveWindow
.DisplayHeadings = Not .DisplayHeadings
End With
End Sub
- コマンドボタン1が押されたら
- 現在表示中のワークシートを操作する
- 行番号・列番号を表示・非表示を切り替える
- withステートメント終了
- マクロ終了
意外と簡単ですよね。
作成したエクセルは様々なスタッフが使う為に、想定外の操作をされてしまいエラーを引き起こすことがあるので、ユーザーフォーム以外の操作をできないように工夫しています。
ボタン1つで表示を切り替えたり元に戻したりできると便利なので、ほかの表示方法も知っていて損はないと思いますよ!