機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > VBA

簡単に罫線を引く



使用するオブジェクトやプロパティがわからないときは、マクロ記録で調べます。しかし、記録されたコードには冗長なコードも含まれていますので、その中から本当に必要なコードだけを使ってください。特に、罫線の操作ではとんでもなく長いコードが記録されることがあります。次のコードは、セル範囲A1:C4を選択して格子の罫線を引いたところです。操作にはツールバーのボタンを使いました。

Sub Macro1()
    Range("A1:C4").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
End Sub

マクロに不慣れなユーザーは、めまいがするかもしれませんね(^^;
少しマクロをかじっているユーザーなら、TopとかBottomなどの文字を見て「ははぁ〜ん、セルの四辺を別々に設定しているのだな」と気づくかもしれません。

確かにその通りです。罫線はBordersコレクションで操作しますが、Bordersコレクション内でどの罫線を操作するかは引数で指定してやります。もっとも、ただ格子の罫線を引くだけでしたら、どの罫線かを指定しなくてもいいんです。次のコードでも、セル範囲A1:C4に格子の罫線を引けます。

Sub Sample1()
    Range("A1:C4").Borders.LineStyle = True
End Sub

Bodersコレクションは引数を指定しないと、四辺の罫線すべてを返します。また、罫線には線の種類(LineStyle)、線の太さ(Weight)、線の色(ColorIndex)を指定できますが、この中で必須なのはLineStyleだけです。WeightとColorIndexは省略すると、標準の値が設定されます。LineStyleにはxlContinuousやxlDashDotなどの定数を指定しますが、一般的な線種を表す定数xlContinuousの実体は1です。試しにTrueを指定してみたら、定数xlContinuousを指定したのと同じように、標準の線種が設定されました。厳密にいうと、True = 1ではありませんけどね。もちろん、Trueの代わりにFalseを指定すれば罫線を消すことも可能です。

任意のセル範囲に標準的な格子罫線を引きたいときは、上記2つのコードのうちお好きな方をお使いください。





このエントリーをはてなブックマークに追加