「vba borderaround 消す」
という、興味深い検索キーワードでのアクセスがありました。
外枠罫線を引くサンプルマクロ
Rangeオブジェクトに用意されているBorderAroundメソッドを使うと、
セル範囲の外枠罫線を簡単に引くことができます。
Range("B2:C3").BorderAround Color:=RGB(255, 0, 0)
End Sub
B2:C3セルに下図のとおり外枠だけ罫線を引けます。
検索キーワード「vba borderaround 消す」は、このRange.BorderAroundメソッドで引いた、外枠罫線を消す方法を探していらしたのでしょう。
外枠罫線だけを消すサンプルマクロ
以下のようなSubプロシージャで、外枠罫線だけを削除できます。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 » Excel VBA Rangeオブジェクト » 罫線・Borders » BorderAroundで引いた外枠罫線だけを消す