連載
» 2016年08月04日 05時00分 公開

Excelマクロ/VBAで始める業務自動化プログラミング入門(5):セルの数値、フォント、文字位置、背景色、けい線など表示形式/書式設定の使い方 (3/4)

[薬師寺国安,PROJECT KySS]

セルのけい線の設定

 次は、図7にけい線を入れてみよう。

 表といえば、けい線とは切っても切れない仲だ。このけい線をいちいちデータを選択して、Excelメニューから設定するのは、手数が多く効率的ではない。こういった手数の多い手順はマクロ化しておくに限る。

 例えば、マクロ化してボタンに「けい線を引く」とでもタイトルを付けておくと、ボタン一つで指定した範囲のデータにけい線が一気に引ける。これぞExcel VBAの醍醐味! こういったマクロを使用しない手はない。けい線を引くマクロはぜひ日常の業務に取り入れてもらいたいものだ。

Bordersコレクションで、どこにけい線を引くか指定

 セルにけい線を引くにはBordersコレクションを使用する。書式は下記の通りだ。

Bordersコレクションの書式

{オブジェクト}.Borders({Index})


 {オブジェクト}にはRangeオブジェクトを指定し、{Index}には表5の値を指定する。

表5 主なIndexの値
定数 けい線の位置
xlEdgeTop
xlEdgeBottom
xlEdgeLeft
xlEdgeRight
xlInsideHorizontal 内側横線
xlInsideVertical 内側縦線
xlDiagonalDown 右下がり斜め線
xlDiagonalUp 右上がり斜め線
参考「XlBordersIndex 列挙型 - MSDN

LineStyleでけい線の種類を指定

 けい線の種類を指定するには、LineStyleプロパティを使用する。書式は下記の通りだ。

LineStyleの書式

Borderオブジェクト.LineStyle={けい線の種類}

Bordersコレクション.LineStyle={けい線の種類}


 オブジェクトにはBorderオブジェクトまたはBordersコレクションを指定する。{けい線の種類}は、表6を参照してほしい。

表6 けい線の種類
定数 けい線の種類
xlContinuous 実線
xlDash 破線
xlDashDot 一点鎖線
xlDashDotDot 二点鎖線
xlDot 点線
xlDouble 二本線
xlSlantDashDot 斜め斜線
xlLineStyleNone 線なし
参考「XlLineStyle 列挙型 (Microsoft.Office.Interop.Excel) - MSDN

Weightプロパティでけい線の太さを指定

 けい線の太さを指定するには、Weightプロパティを使用する。書式は下記の通りだ。

Weightプロパティの書式

Borderオブジェクト.Weight=けい線の太さ

Bordersコレクション.Weight=けい線の太さ


 オブジェクトにはBorderオブジェクトまたはBordersコレクションを指定する。「けい線の太さ」は、表7参照。

表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
リスト5 けい線を引く

 B3のセルを基準に「下方向」「右方向」の終端まで選択し、けい線の種類は「二本線(xlDouble)」で、けい線の太さは「太線(xlThick)」で、けい線の色は「Green」系統色としている。実行すると図8のようになる。

図8 けい線を引いた

BorderAroundメソッドで表の外枠にけい線を引く

 けい線が引けたところで、今度は表の外枠を「Navy」の色で囲ってみよう。マクロはリスト6のようになる。

Sub 表の外枠にNavy色のけい線を引く()
   Range("B3", Range("B3").End(xlDown).End(xlToRight)).BorderAround Weight:=xlMedium, ColorIndex:=32
End Sub
リスト6 表の外枠に「Navy」色のけい線を引く

 表の外枠にけい線を引くには、BorderAroundメソッドを使用する。書式は下記の通りだ。

BorderAroundの書式

Rangeオブジェクト.BorderAround Weight:={けい線の太さ}


 「オブジェクト」にはRangeオブジェクトを指定し、「けい線の太さ」には表7の値を指定する。B3のセルを基準に「下方向」「右方向」の終端まで選択し、表の外枠に、「xlMedium(普通)」の太さの線を引き、けい線の色は「Navy」系統色としている。実行すると図9のようになる。

図9 表の外枠にNavy色の線を引いた

けい線を削除するには

 次は引いたけい線を削除する処理を見ていこう。けい線を削除するには、LineStyleプロパティに表6の「xlLineStyleNone(線なし)」を指定する。

 B3セル〜C9セルのけい線を全部削除してみよう。マクロはリスト7のようになる。

Sub けい線の全削除()
  With Range("B3").CurrentRegion
    .Borders.LineStyle = xlLineStyleNone
    .Borders(xlDiagonalDown).LineStyle = xlLineStyleNone
  End With
End Sub
リスト7 けい線の全削除

 Borders.LineStyle = xlLineStyleNoneでけい線の種類に「線なし」と指定しておく、そして、Borders(Index)のIndexに表5の「xlDiagonalDown(右下がり斜め線)」の値を指定し、これに「線なし」の「xlLineStyleNone」を指定する。これで、けい線が全て削除される。実行結果は図10のようになる。

図10 けい線を全削除した

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。