Bordersコレクション

広告

Rangeオブジェクトの「Borders」プロパティで、プロパティに引数を指定すると指定した辺の位置にあるBorderオブジェクトを取得できますが、引数を指定せずに「Borders」プロパティの値を取得した時はBordersコレクションのオブジェクトを取得できます。

Dim border1 As Borders

Set border1 = Range("A1").Borders

Bordersコレクションには上下左右の4つの辺が全て含まれています。このため、全ての辺で同じ罫線を表示したい場合にはBorderオブジェクトで1つ1つ設定するのではなく、Bordersコレクションの各プロパティに設定すれば4つの辺にまとめて設定する事が出来ます。

Dim border1 As Borders

Set border1 = Range("A1").Borders
border1.LineStyle = xlContinuous
border1.Weight = xlMedium
border1.ColorIndex = 10

単独のセルではなく、セル範囲からBordersコレクションを取得した場合には、領域内の全てのセルの上下左右の罫線が描画されます。

Range("A1:B4").Borders.LineStyle = xlContinuous

同じ罫線をまとめて描画したい場合には便利です。

サンプルプログラム

では簡単なサンプルで試してみましょう。

testcellborder4.bas

Sub テスト()
    Dim border1 As Borders

    Set border1 = Range("B2").Borders
    border1.LineStyle = xlContinuous
    border1.Weight = xlMedium
    border1.ColorIndex = 3

    Range("B4:D7").Borders.LineStyle = xlContinuous

End Sub

上記マクロを実行すると次のようになります。

罫線の設定

Excel VBA入門の他の記事を見てみる

( Written by Tatsuo Ikura )