サイトについて      連絡先   検索

VBA セルの罫線の色を取得する

はじめに

Excel VBA のセルの罫線の色を取得する方法を紹介します。

Range.Borders プロパティか Cells.Borders プロパティから罫線を取得できます。

Borders.Color プロパティから罫線の色を取得できます。

罫線について

罫線を操作する基本について、先に「セルの罫線について」をご覧ください。

Border や Borders、xlEdgeTop とは何かについて紹介しています。

セルの罫線の色を取得する

色は「Rgb 関数」で取得できる数値が取得されます。

Range の引数にセル名を指定すると、そのセルの罫線の色を取得できます。

セル「A1」の罫線の色を取得するには Range("A1").Borders.Color のように指定します。

Dim l As Long
l = Range("A1").Borders.Color ' 上下左右の罫線の色
l = Range("A1").Borders(xlEdgeTop).Color ' 上側の罫線の色

Cells の引数にセルの行と列の番号を指定すると、そのセルの罫線の色を取得できます。

行「2」、列「A」の罫線の色を取得するには Cells(2, 1).Borders のように指定します。

Dim l As Long
l = Cells(1, 1).Borders.Color ' A1
l = Cells(2, 1).Borders.Color ' A2
l = Cells(1, 2).Borders.Color ' B1
l = Cells(2, 2).Borders.Color ' B2

セルの範囲の罫線の色を取得する

セルの範囲「A1」~「B2」の罫線の色を取得するには Range("A1:B2").Borders.Color または Range("A1", "B2").Borders.Color のように指定します。

Dim l As Long
l = Range("A1:B2").Borders.Color
l = Range("A1", "B2").Borders.Color
Debug.Print(l)

l = Range("A1:B2").Borders(xlEdgeTop).Color
Debug.Print(l)

指定したシートのセルの罫線の色を取得する

Range.Borders.Color とコードに書くと、アクティブなシートのセルの罫線の色を取得します。これは ActiveSheet.Range.Borders.Color の ActiveSheet が省略されています。

' どちらも同じコード
Dim l As Long
l = Range("A1").Borders.Color
l = ActiveSheet.Range("A1").Borders.Color

シートを指定するには Sheets の引数にシート名またはインデックスを指定します。

1

Sheet1 のシートを指定するには、Sheets("Sheet1") か Sheets(1) と書きます。

Dim l As Long
' Sheet1 のセル「A1」の罫線の色を取得
l = Sheets("Sheet1").Range("A1").Borders.Color
l = Sheets(1).Range("A1").Borders.Color
Debug.Print(l)

' Sheet2 のセル「A1」の罫線の色を取得
l = Sheets("Sheet2").Range("A1").Borders.Color
l = Sheets(2).Range("A1").Borders.Color
Debug.Print(l)

関連ページ