エクセルVBAでセルの枠線の表示を表示・非表示を切り替えるボタン

エクセル検索
HOMEUserForm印刷画面ファイル図形
日付・時刻データセル関数VBA関数

エクセルのワークシート上にはセルの仕切り「枠線」が表示されていますが、消したいこと(非表示化)ありませんか?

ホームページやブログに画像として取り込む時に、枠線が無い方が綺麗に見えるので消してしまう方法をご紹介します。

また、ついでに枠線を表示・非表示がボタン1つで切り替えられるスイッチみたいな切替ボタンも作ってみませんか?

セルの枠線を見えなくする方法

セルの枠線をただ単に消す方法は何もVBAだけではないんです。こんな方法もありですかね?

背景色選択で枠線を非表示

まずは、VBAコードなんか使わなくても見えている部分だけちょっと面倒ですが、枠線を消す方法があります。

それは、背景色を白色にするだけです。

ワークシート
エクセルワークシート

範囲を決めてエクセルの背景色選択(塗りつぶしの色選択)すると見事枠線が見えなくなりました。

背景色で枠線非表示
背景色で枠線非表示

ここでは、塗りつぶしを「白色」選択でセル枠線見えなくなりましたので、とても簡単。

もちろん、セルの書式設定➡塗りつぶし➡背景色➡白色でも同じくセルの枠線が消えますが、こんな方法が知りたくてこのページをご覧になているわけではないので、VBAコードを使った枠線を非表示化を書きます。

DisplayGridinesプロパティで枠線を非表示化

表示されているエクセルワークシート(アクティブウィンドウ)の枠線を非表示化します。

もし複数のワークシートを開いている時は、最前面に表示されているワークシートがアクティブウィンドウとなり、枠線非表示の対象となりましたが、できればエラーの原因にもなるので開くワークシートは1つの方がいいですよ。

VBAコード

Private Sub CommandButton1_Click()
ActiveWindow.DisplayGridlines = False
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. 表示されているワークシートの枠線を非表示にする
  3. マクロ記述終了

VBAならばシート全体が枠線非表示化されました。

vba枠線非表示
VBAで枠線非表示化
波乗りアヒル

念の為に、ワークシート上かユーザーフォームに枠線を再表示する為のコードを記述したコマンドボタンを準備しておく事も必要です

FalseをTureに変えるだけです!

VBAコード

Private Sub CommandButton1_Click()
ActiveWindow.DisplayGridlines = True
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. 表示されているワークシートの枠線を再表示する
  3. マクロ記述終了

ひとつのボタンで枠線の表示・非表示を切り替える

先ほどの例だとセルの枠線の為に、コマンドボタンが「非表示」「再表示」の2つ必要になりますが、Not演算子を使えば、1つにまとめることができます。

VBAコード

Private Sub CommandButton1_Click()
With ActiveWindow
.DisplayGridlines = Not .DisplayGridlines
End With
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. 表示されているワークシートが
  3. 枠線が表示されていたら非表示に、非表示なら表示する
  4. Withステートメント終了
  5. マクロ記述終了
波乗りアヒル

これで、現在の枠線の状態を取得してNot演算子で逆の設定値に変更して設定してくれるので、コマンドボタンを押すたびに非表示・再表示を繰り返してくれます。

関連記事

どこかにビューーン
ちょっとの工夫で往復無料の時代が来た!!

新着ページ

よく見られているページ

大容量無料ファイル転送サービス【ACデータ】 無料イラスト【イラストAC】

紅葉スポット

2024年5月11日からマイルと楽天ポイントとの相互交換提携開始!

交換レート0.5:1なので半分になってしまいますが、使い方次第で実質3倍の価値まで引き上げられる方法です。