大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、格子や外枠の罫線を引く方法と、罫線をクリアする方法について、ご紹介します。罫線を引くには、「Borders」と「LineStyle」を使います。罫線を引く作業は、時間がかかったり、面倒だったりするので、VBAを使って自動化すると、作業時間を短縮することができます。

はじめに

この記事では、格子や外枠の罫線を引く方法について、ご紹介します。

罫線を引く作業は、時間がかかったり、めんどくさかったりするので、VBAで自動化できると、作業時間を短縮できて便利です。

罫線を引くには、「Borders」と「LineStyle」を使います。

では、罫線を引く方法について、解説していきます。

この記事で紹介すること

  • 罫線を引く方法
  • 罫線をクリアする方法

目次から見たい項目へ移動すると便利ですよ。

目次

VBAで格子や外枠の罫線を引く

VBAで、格子や外枠の罫線を引く方法について、ご紹介します。

罫線を引くには、「Borders」と「LineStyle」を使います。

VBAコード(BordersとLineStyle)

罫線を引くVBAコードをまとめるとこんな感じです。

Sub TEST1()
    
    With ActiveSheet.Range("B2:C3")
        .Borders.LineStyle = xlContinuous '格子
        .Borders(xlEdgeTop).LineStyle = xlContinuous '上
        .Borders(xlEdgeBottom).LineStyle = xlContinuous '下
        .Borders(xlEdgeLeft).LineStyle = xlContinuous '左
        .Borders(xlEdgeRight).LineStyle = xlContinuous '右
        .Borders(xlInsideHorizontal).LineStyle = xlContinuous '中央の横
        .Borders(xlInsideVertical).LineStyle = xlContinuous '中央の縦
        .Borders(xlDiagonalUp).LineStyle = xlContinuous '右上がり
        .Borders(xlDiagonalDown).LineStyle = xlContinuous '右下がり
    End With
    
End Sub

図でまとめてみます。

格子の罫線

格子の罫線を引く場合は、次のVBAコードを使います。

格子の罫線を引く場合

外枠の罫線

個別に罫線を引く場合は、次のVBAコードを使います。

外枠の罫線を引いた場合

中央の罫線

中央の罫線を引く場合は、次のVBAコードを使います。

中央の罫線を引いた場合

右上がりの罫線

右上がりの罫線を引きたい場合は、次のVBAコードを使います。

右上がりの罫線を引いた場合

右下がりの罫線

右下がりの罫線を引きたい場合は、次のVBAコードを使います。

右下がりの罫線を引いた場合

という感じです。

では、それぞれ罫線をVBAコードで書いて、実行してみます。

格子の罫線

まず、格子の罫線を引いてみます。

格子の罫線を引く場合は、「Borders」だけを使います。

格子の罫線を引くVBAコードです。

Sub TEST2()

    With ActiveSheet.Range("B2:C3")
        '格子の罫線
        .Borders.LineStyle = xlContinuous
    End With
    
End Sub

では、実行します。

格子の罫線

格子の罫線を引いた場合

設定した範囲の罫線がすべて引かれました。

すべての罫線を引きたい場合は、「Borders」だけを使います。

上の罫線

次は、上の罫線だけを引いてみます。

上の罫線だけを引く場合は、「Borders(xlEdgeTop)」を使います。

上の罫線だけを引くVBAコードです。

Sub TEST3()

    With ActiveSheet.Range("B2:C3")
        '上の罫線
        .Borders(xlEdgeTop).LineStyle = xlContinuous
    End With
    
End Sub

では、実行します。

上の罫線

上の罫線だけを引いた場合

設定した範囲で、上の罫線だけが引かれました。

下の罫線

次は、下の罫線だけを引いてみます。

下の罫線だけを引く場合は、「Borders(xlEdgeBottom)」を使います。

下の罫線だけを引くVBAコードです。

Sub TEST4()

    With ActiveSheet.Range("B2:C3")
        '下の罫線
        .Borders(xlEdgeBottom).LineStyle = xlContinuous
    End With
    
End Sub

では、実行します。

下の罫線

下の罫線だけを引いた場合

設定した範囲で、下の罫線だけが引かれました。

左の罫線

次は、左の罫線だけを引いてみます。

左の罫線だけを引く場合は、「Borders(xlEdgeLeft)」を使います。

左の罫線だけを引くVBAコードです。

Sub TEST5()

    With ActiveSheet.Range("B2:C3")
        '左の罫線
        .Borders(xlEdgeLeft).LineStyle = xlContinuous
    End With
    
End Sub

では、実行します。

左の罫線

左の罫線だけを引いた場合

設定した範囲で、左の罫線だけが引かれました。

右の罫線

次は、右の罫線だけを引いてみます。

右の罫線だけを引く場合は、「Borders(xlEdgeRight)」を使います。

右の罫線だけを引くVBAコードです。

Sub TEST6()

    With ActiveSheet.Range("B2:C3")
        '右の罫線
        .Borders(xlEdgeRight).LineStyle = xlContinuous
    End With
    
End Sub

では、実行します。

右の罫線

右の罫線だけを引いた場合

設定した範囲で、右の罫線だけが引かれました。

中央の横の罫線

次は、中央の横の罫線だけを引いてみます。

中央の横の罫線だけを引く場合は、「Borders(xlInsideHorizontal)」を使います。

中央の横の罫線だけを引くVBAコードです。

Sub TEST7()

    With ActiveSheet.Range("B2:C3")
        '中央の横の罫線
        .Borders(xlInsideHorizontal).LineStyle = xlContinuous
    End With
    
End Sub

では、実行します。

中央の横の罫線

中央の横の罫線だけを引いた場合

設定した範囲で、中央の横の罫線だけが引かれました。

中央の縦の罫線

次は、中央の縦の罫線だけを引いてみます。

中央の縦の罫線だけを引く場合は、「Borders(xlInsideVertical)」を使います。

中央の縦の罫線だけを引くVBAコードです。

Sub TEST8()

    With ActiveSheet.Range("B2:C3")
        '中央の縦の罫線
        .Borders(xlInsideVertical).LineStyle = xlContinuous
    End With
    
End Sub

では、実行します。

中央の縦の罫線

中央の縦の罫線だけを引いた場合

設定した範囲で、中央の縦の罫線だけが引かれました。

斜め(右上がり)の罫線

次は、右上がりの斜めの罫線だけを引いてみます。

右上がりの斜めの罫線だけを引く場合は、「Borders(xlDiagonalUp)」を使います。

右上がりの斜めの罫線だけを引くVBAコードです。

Sub TEST9()

    With ActiveSheet.Range("B2:C3")
        '右上がりの罫線
        .Borders(xlDiagonalUp).LineStyle = xlContinuous
    End With
    
End Sub

では、実行します。

右上がりの斜めの罫線

右上がりの斜めの罫線だけを引いた場合

設定した範囲で、右上がりの斜めの罫線だけが引かれました。

斜め(右下がり)の罫線

次は、右下がりの斜めの罫線だけを引いてみます。

右下がりの斜めの罫線だけを引く場合は、「Borders(xlDiagonalDown)」を使います。

右下がりの斜めの罫線だけを引くVBAコードです。

Sub TEST10()

    With ActiveSheet.Range("B2:C3")
        '右下がりの罫線
        .Borders(xlDiagonalDown).LineStyle = xlContinuous
    End With
    
End Sub

では、実行します。

右下がりの斜めの罫線

右下がりの斜めの罫線だけを引いた場合

設定した範囲で、右下がりの斜めの罫線だけが引かれました。

VBAで罫線をクリア

VBAで、罫線をクリアする方法です。

指定した範囲を全てクリアする方法と、個別に罫線をクリアする方法があります。

罫線をすべてクリアするには、「ClearFormats」を使います。

ただし、フォントなどの書式もすべてクリアされてしまいます。

罫線だけを個別にクリアするには、「xlNone」を使います。

VBAコード(ClearFormats)

指定した範囲で、全ての罫線をクリアするVBAコードです。

書式もクリアされます。

Sub TEST11()

    With ActiveSheet.Range("B2")
        'すべての罫線をクリア
        .ClearFormats
    End With
    
End Sub

罫線を引いたセルです。

罫線を引いたセル

罫線を引いたセル

この罫線を引いたセルで、B2の罫線と書式をすべてクリアします。

B2の罫線と書式をすべてクリア

B2の罫線だけをすべてクリア

B2の罫線だけを、すべてクリアできました。

書式もクリアされます。

個別に罫線をクリアする

罫線だけをクリアしたい場合には、「Borders」と「xlNone」を使います。

格子の罫線だけをクリア

格子の罫線だけをクリアするVBAコードです。

「Borders」と「xlNone」を使います。

Sub TEST12()

    With ActiveSheet.Range("B2:C3")
        '格子の罫線をクリア
        .Borders.LineStyle = xlNone
    End With
    
End Sub

上下左右と斜めの罫線を引いたセルを用意しました。

上下左右と斜めの罫線を引いたセル

格子の罫線だけをクリアします。

xlNoneを使って格子の罫線だけをクリア

格子の罫線だけをクリアできました。

上の罫線だけをクリア

上の罫線だけをクリアするVBAコードです。

「Borders(xlEdgeTop)」と「xlNone」を使います。

Sub TEST13()

    With ActiveSheet.Range("B2:C3")
        '上の罫線だけをクリア
        .Borders(xlEdgeTop).LineStyle = xlNone
    End With
    
End Sub

上下左右と斜めの罫線を引いたセルを用意しました。

上下左右と斜めの罫線を引いたセル

上の罫線だけをクリアします。

xlEdgeTopとxlNoneを使って上の罫線だけをクリア

上の罫線だけをクリアできました。

下の罫線だけをクリア

下の罫線だけをクリアするVBAコードです。

「Borders(xlEdgeBottom)」と「xlNone」を使います。

Sub TEST14()

    With ActiveSheet.Range("B2:C3")
        '下の罫線だけをクリア
        .Borders(xlEdgeBottom).LineStyle = xlNone
    End With
    
End Sub

上下左右と斜めの罫線を引いたセルを用意しました。

上下左右と斜めの罫線を引いたセル

下の罫線だけをクリアします。

xlEdgeBottomとxlNoneを使って下の罫線だけをクリア

下の罫線だけをクリアできました。

左の罫線だけをクリア

左の罫線だけをクリアするVBAコードです。

「Borders(xlEdgeLeft)」と「xlNone」を使います。

Sub TEST15()

    With ActiveSheet.Range("B2:C3")
        '左の罫線だけをクリア
        .Borders(xlEdgeLeft).LineStyle = xlNone
    End With
    
End Sub

上下左右と斜めの罫線を引いたセルを用意しました。

上下左右と斜めの罫線を引いたセル

左の罫線だけをクリアします。

xlEdgeLeftとxlNoneを使って上の罫線だけをクリア

左の罫線だけをクリアできました。

右の罫線だけをクリア

右の罫線だけをクリアするVBAコードです。

「Borders(xlEdgeRight)」と「xlNone」を使います。

Sub TEST16()

    With ActiveSheet.Range("B2:C3")
        '右の罫線だけをクリア
        .Borders(xlEdgeRight).LineStyle = xlNone
    End With
    
End Sub

上下左右と斜めの罫線を引いたセルを用意しました。

上下左右と斜めの罫線を引いたセル

右の罫線だけをクリアします。

xlEdgeRightとxlNoneを使って上の罫線だけをクリア

右の罫線だけをクリアできました。

おわりに

この記事では、格子や外枠の罫線を引く方法について、ご紹介しました。

罫線を引くには、「Borders」と「LineStyle」を使います。

罫線を引く作業は、面倒で時間がかかったりしますので、VBAで自動化すると作業時間の短縮になります。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す