Home » ExcelVBA Rangeオブジェクト » 罫線・Borders » BorderAroundで引いた外枠罫線だけを消す

BorderAroundで引いた外枠罫線だけを消す

対象:Excel 2010, Excel 2013, Windows版Excel 2016

「vba borderaround 消す」
という、興味深い検索キーワードでのアクセスがありました。

外枠罫線を引くサンプルマクロ

Rangeオブジェクトに用意されているBorderAroundメソッドを使うと、

セル範囲の外枠罫線を簡単に引くことができます。

[スポンサードリンク]
例えば、以下のようなSubプロシージャを実行すると、
Sub BorderAroundメソッドで罫線を引く()
 Range("B2:C3").BorderAround Color:=RGB(255, 0, 0)
End Sub

B2:C3セルに下図のとおり外枠だけ罫線を引けます。

検索キーワード「vba borderaround 消す」は、このRange.BorderAroundメソッドで引いた、外枠罫線を消す方法を探していらしたのでしょう。

外枠罫線だけを消すサンプルマクロ

以下のようなSubプロシージャで、外枠罫線だけを削除できます。
Sub BorderAroundで引いた罫線だけ消す()
 Dim i As XlBordersIndex
 For i = xlEdgeLeft To xlEdgeRight
  Range("B2:C3").Borders(i).LineStyle = xlNone
 Next i
End Sub

上記のSubプロシージャを、拙著『いちばんやさしいExce VBAの教本』でも多用しているショートカットキー[F8]で、ステップ実行してください。

For~Nextループがステップ実行されるのに応じて、B2:C3セルの外枠罫線が、
  左
  上
  下
  右
の順に消えていくことを確認できます。

仮にB2:C3セルに、(外枠罫線ではなく)下図のような格子罫線が引かれていた場合にも、

Subプロシージャ「BorderAroundで引いた罫線だけ消す」を実行すると、下図のように外枠罫線だけが消えます。

外枠罫線だけを消すサンプルマクロのオブジェクト式について

Bordersコレクションオブジェクトに、

XlBordersIndex列挙に定義された定数を指定することで、

特定の罫線を表すBorderオブジェクトを取得できます。

外枠罫線を表すBorderオブジェクトを取得するための定数、xlEdgeLeft・xlEdgeTop・xlEdgeBottom・xlEdgeRightは、それぞれ以下のような値を持っているため
  xlEdgeLeft = 7
  xlEdgeTop = 8
  xlEdgeBottom = 9
  xlEdgeRight = 10
上述のSubプロシージャ「BorderAroundで引いた罫線だけ消す」では、
  Dim i As XlBordersIndex
  For i = xlEdgeLeft To xlEdgeRight
とFor~Nextループを回しています。

最終更新日時:2019-06-02 06:47

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 罫線・Borders » BorderAroundで引いた外枠罫線だけを消す

Copyright © インストラクターのネタ帳 All Rights Reserved.

.