Home » ExcelVBA Rangeオブジェクト » 罫線・Borders » VBAでセルの左側に罫線を引く

VBAでセルの左側に罫線を引く

対象:Excel2010, Excel2013, Windows版Excel2016

このサイト「インストラクターのネタ帳」は、アクセスログに残された検索キーワードをトリガーに記事を書くことが、とても多くなっています。

アクセスログの中には、真意をつかみ辛いキーワードもよくあります。

「vba 罫線を引く 左側のみ」
も、そのようなタイプの検索キーワードのひとつです。

VBAで、セルに罫線を引くにはどのようなコードを書けばいいのかを探していらしたのだとは思うのですけれど、
「左側のみ」
と表現されているのがどこなのか、いくつかの可能性が考えられるため、本当のところ何を求めてらしたのかはわかりません。

[スポンサードリンク]

この記事では、参考になりそうなサンプルマクロを、いくつかご紹介しておきます。

Range.Borders(xlEdgeLeft)を使ったサンプルマクロ

「vba 罫線を引く 左側のみ」
と検索なさった方が期待していた可能性として考えられる1つ目です。

Sub 罫線を引く_xlEdgeLeft()
 Dim rng As Range

 Set rng = Range("B2:F3")
 rng.Select
 Stop

 rng.Borders(xlEdgeLeft).Weight = xlThick
End Sub

上記のSubプロシージャを、ショートカットキー[F5]で実行すると、B2:F3セルが選択された状態で、ステップ実行モードになります。その状態でもう一度[F5]を押すと、選択されたB2:F3セルの、一番左のセルであるB2:B3の左側にだけ罫線が引かれます。

Range.Borders(xlEdgeLeft)と.Borders(xlInsideVertical)を使ったサンプルマクロ

「vba 罫線を引く 左側のみ」
と検索なさった方が期待していた可能性として考えられる2つ目は以下のようなマクロです。

Sub 罫線を引く_xlEdgeLeftとxlInsideVertiacal()
 Dim rng As Range

 Set rng = Range("B5:F6")
 rng.Select
 Stop

 rng.Borders(xlEdgeLeft).Weight = xlThick
 rng.Borders(xlInsideVertical).Weight = xlThick
End Sub

上記のSubプロシージャを、ショートカットキー[F5]で実行すると、B5:F6セルが選択された状態で、ステップ実行モードになります。その状態でもう一度[F5]を押すと、B5:F6セルそれぞれの左側に罫線が引かれます。

先のB2:B3セルの左側にだけ罫線を引いた、
  rng.Borders(xlEdgeLeft).Weight = xlThick
に、
  rng.Borders(xlInsideVertical).Weight = xlThick
が追加されています。

Range.Borders(xlInsideVertical)の動作確認をするサンプルマクロ

ちなみに、Range.Borders(xlInsideVertical)が、どの部分の罫線なのかは、以下のSubプロシージャを実行していただくとわかるでしょう。

Sub 罫線を引く_xlInsideVertical()
 Dim rng As Range

 Set rng = Range("B8:F9")
 rng.Select
 Stop

 rng.Borders(xlInsideVertical).Weight = xlThick
End Sub

「vba 罫線を引く 左側のみ」
と検索なさった方に、この記事がとどきますように。

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 罫線・Borders » VBAでセルの左側に罫線を引く

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

.