非表示にしたり、再表示させたりすることが簡単にできます。
エクセルVBAで何かアプリケーションを作り、「ワークシート上では、
必要部分以外は枠線を表示させたくないなぁ。」と思うことが
あると思います。一応、ワークシートの枠線の表示/非表示の設定枠は、
別に、Excel VBAでやらなくても、オプションのダイアログから、
自由に表示/非表示の設定ができます。しかし、VBAでワークシートの
枠線の表示/非表示を制御した方が、自分でエクセルのアプリケーションを
作る場合は、いろいろと都合が良かったりします。今回は、Excel VBAで
ワークシートの枠線の表示/非表示の制御の記述を教えたいと思います。
[記述例] ワークシートの枠線を非表示にしたり、再表示させたりするVBA記述
Sub test()
'ワークシートの枠線を非表示にする
Windows(ActiveWorkbook.Name).DisplayGridlines = False
'メッセージを表示する
MsgBox "ワークシートの枠線を非表示にしました。"
'ワークシートの枠線を表示する
Windows(ActiveWorkbook.Name).DisplayGridlines = True
'メッセージを表示する
MsgBox "ワークシートの枠線を表示するようにしました。"
End Sub
[動作とプログラムの説明]まず、動作の説明から。上記のVBAプログラムを実行すると、
ワークシート上の枠線を非表示にし、そして、非表示になったことを
伝えるメッセージがメッセージボックスで表示されます。
メッセージボックス上の「OK」ボタンを押すと、
ワークシート上の枠線を表示に戻し、表示を元に戻したことを
伝えるメッセージを表示しています。
次は、プログラムの説明ですが、「Windows」オプジェクト関数に
エクセルのBOOK名を引数で渡します。とりあえず、こちらでは、
各環境のブック名が分からないので、「ActiveWorkbook.Name」と
記述し、アクティブなブック名を自動で拾うようにしています。
(別にブック名が分かっているのならば、「ActiveWorkbook.Name」を
使わずに直接、ブック名を記述しても構いません。その場合は、
ブック名をダブルクオーテーションマークが囲ってください。)
そして、「DisplayGridlines」のプロパティを「False」(偽)と
してやることで、ワークシート上の枠線を非表示にしています。
その後、一応、今回はテストなので、元の状態に戻すために、
今度は、「DisplayGridlines」のプロパティを「True」(真)にして
元の表示状態に戻しています。
