Home » Excel VBA Rangeオブジェクト » 罫線・Borders » セル範囲の内側にVBAで罫線を引く-Borders(xlInsideVertical)・Borders(xlInsideHorizontal)

セル範囲の内側にVBAで罫線を引く-Borders(xlInsideVertical)・Borders(xlInsideHorizontal)

対象:Excel2010, Excel2013, Windows版Excel2016

セル範囲の内側にVBAで罫線を引く

「エクセルvba 罫線を引く 内側の垂直線のみ」
という検索で、このサイト・インストラクターのネタ帳へアクセスがありました。

[スポンサードリンク]

セル範囲の内側に垂直罫線を引くサンプルマクロ

以下のSubプロシージャを実行すると、B2:D4セルの、内側に、太い赤色の垂直罫線が引かれます
Sub 罫線を引く_xlInsideVertical()
 With Range("B2:D4")
  .BorderAround Weight:=xlThin
  With .Borders(xlInsideVertical)
   .Weight = xlThick
   .Color = RGB(255, 0, 0)
  End With
 End With
End Sub

セル範囲の内側にVBAで罫線を引く

最初の、
  With Range("B2:D4")
   .BorderAround Weight:=xlThin
の部分は、このセル範囲の内側に垂直罫線を引くことを明確にするために、Range.BorderAroundメソッドで外枠罫線を引いている処理ですから、
「エクセルvba 罫線を引く 内側の垂直線のみ」
とは、関係ありません。

内側の垂直罫線を引いているのは、
 With Range("B2:D4")
  With .Borders(xlInsideVertical)
   .Weight = xlThick
   .Color = RGB(255, 0, 0)
の部分です。

Bordersプロパティの引数(厳密にはBordersコレクションオブジェクトの_Defaultプロパティの引数)に、定数xlInsideVerticalを指定すると、セル範囲の内側垂直罫線を表すBorderオブジェクトを取得できます。

ここではBorderオブジェクトのWeightプロパティとColorプロパティを設定しています。

セル範囲の内側に水平罫線を引くサンプルマクロ

以下のSubプロシージャを実行すると、B6:D8セルの、内側に、太い赤色の水平罫線が引かれます
Sub 罫線を引く_xlInsideHorizontal()
 With Range("B6:D8")
  .BorderAround Weight:=xlThin
  With .Borders(xlInsideHorizontal)
   .Weight = xlThick
   .Color = RGB(255, 0, 0)
  End With
 End With
End Sub

セル範囲の内側にVBAで罫線を引く

先の垂直罫線を引くマクロで、
  With .Borders(xlInsideVertical)
となっていた行が、
  With .Borders(xlInsideHorizontal)
と、定数xlInsideHorizontalを使って、内側の水平罫線を表すBorderオブジェクトを取得しているところだけが、違います。

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 罫線・Borders » セル範囲の内側にVBAで罫線を引く-Borders(xlInsideVertical)・Borders(xlInsideHorizontal)

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

.