次は、図7にけい線を入れてみよう。
表といえば、けい線とは切っても切れない仲だ。このけい線をいちいちデータを選択して、Excelメニューから設定するのは、手数が多く効率的ではない。こういった手数の多い手順はマクロ化しておくに限る。
例えば、マクロ化してボタンに「けい線を引く」とでもタイトルを付けておくと、ボタン一つで指定した範囲のデータにけい線が一気に引ける。これぞExcel VBAの醍醐味! こういったマクロを使用しない手はない。けい線を引くマクロはぜひ日常の業務に取り入れてもらいたいものだ。
セルにけい線を引くにはBordersコレクションを使用する。書式は下記の通りだ。
{オブジェクト}.Borders({Index})
{オブジェクト}にはRangeオブジェクトを指定し、{Index}には表5の値を指定する。
定数 | けい線の位置 |
---|---|
xlEdgeTop | 上 |
xlEdgeBottom | 下 |
xlEdgeLeft | 左 |
xlEdgeRight | 右 |
xlInsideHorizontal | 内側横線 |
xlInsideVertical | 内側縦線 |
xlDiagonalDown | 右下がり斜め線 |
xlDiagonalUp | 右上がり斜め線 |
参考「XlBordersIndex 列挙型 - MSDN」 |
けい線の種類を指定するには、LineStyleプロパティを使用する。書式は下記の通りだ。
Borderオブジェクト.LineStyle={けい線の種類}
Bordersコレクション.LineStyle={けい線の種類}
オブジェクトにはBorderオブジェクトまたはBordersコレクションを指定する。{けい線の種類}は、表6を参照してほしい。
定数 | けい線の種類 |
---|---|
xlContinuous | 実線 |
xlDash | 破線 |
xlDashDot | 一点鎖線 |
xlDashDotDot | 二点鎖線 |
xlDot | 点線 |
xlDouble | 二本線 |
xlSlantDashDot | 斜め斜線 |
xlLineStyleNone | 線なし |
参考「XlLineStyle 列挙型 (Microsoft.Office.Interop.Excel) - MSDN」 |
けい線の太さを指定するには、Weightプロパティを使用する。書式は下記の通りだ。
Borderオブジェクト.Weight=けい線の太さ
Bordersコレクション.Weight=けい線の太さ
オブジェクトにはBorderオブジェクトまたはBordersコレクションを指定する。「けい線の太さ」は、表7参照。
定数 | けい線の太さ |
---|---|
xlHairline | 一番細い線 |
xlThin | 極細 |
xlMedium | 中(普通) |
xlThick | 太線(一番太い線) |
参考「XlBorderWeight 列挙型 (Microsoft.Office.Interop.Excel) - MSDN」 |
では、図7にけい線を引いてみよう。マクロはリスト5のようになる。
Sub けい線を引く() With Range("B3", Range("B3").End(xlDown).End(xlToRight)).Borders .LineStyle = xlDouble .Weight = xlThick .ColorIndex = 4 End With End Sub
B3のセルを基準に「下方向」「右方向」の終端まで選択し、けい線の種類は「二本線(xlDouble)」で、けい線の太さは「太線(xlThick)」で、けい線の色は「Green」系統色としている。実行すると図8のようになる。
けい線が引けたところで、今度は表の外枠を「Navy」の色で囲ってみよう。マクロはリスト6のようになる。
Sub 表の外枠にNavy色のけい線を引く() Range("B3", Range("B3").End(xlDown).End(xlToRight)).BorderAround Weight:=xlMedium, ColorIndex:=32 End Sub
表の外枠にけい線を引くには、BorderAroundメソッドを使用する。書式は下記の通りだ。
Rangeオブジェクト.BorderAround Weight:={けい線の太さ}
「オブジェクト」にはRangeオブジェクトを指定し、「けい線の太さ」には表7の値を指定する。B3のセルを基準に「下方向」「右方向」の終端まで選択し、表の外枠に、「xlMedium(普通)」の太さの線を引き、けい線の色は「Navy」系統色としている。実行すると図9のようになる。
次は引いたけい線を削除する処理を見ていこう。けい線を削除するには、LineStyleプロパティに表6の「xlLineStyleNone(線なし)」を指定する。
B3セル〜C9セルのけい線を全部削除してみよう。マクロはリスト7のようになる。
Sub けい線の全削除() With Range("B3").CurrentRegion .Borders.LineStyle = xlLineStyleNone .Borders(xlDiagonalDown).LineStyle = xlLineStyleNone End With End Sub
Borders.LineStyle = xlLineStyleNoneでけい線の種類に「線なし」と指定しておく、そして、Borders(Index)のIndexに表5の「xlDiagonalDown(右下がり斜め線)」の値を指定し、これに「線なし」の「xlLineStyleNone」を指定する。これで、けい線が全て削除される。実行結果は図10のようになる。
Copyright © ITmedia, Inc. All Rights Reserved.