Excel

 【Excel】VBAマクロで罫線格子を引く・消す(最終行まで)【Borders.Add】【Range.ClearBorders】

当サイトでは記事内に広告を含みます。

この記事ではVBAマクロで罫線格子を引く・消す(最終行まで)【Borders.Add】【Range.ClearBorders】について解説していきます。

ポイントとしては`Borders.Add`メソッドと`Range.ClearBorders`メソッドを使用することです。

なお、下記の解説では完全な初心者でもわかりやすいように、変数名をあえて一風変わった名称にしております。

実際に使用する際には、これらを一般的な英語表記に適切なものに変更してご利用ください。それでは詳しく見ていきましょう!

VBAマクロで罫線格子を引く方法(データの最終行まで先頭行から)

それではまず、VBAマクロでシートのデータ範囲に罫線格子を引く方法について解説していきます。

この方法では、データが存在する最初の行から最終行までの範囲に自動で罫線を引きます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。

Sub aaaaAddBordersaaaa()
    Dim aaaaWsaaaa As Worksheet
    Set aaaaWsaaaa = ThisWorkbook.Sheets("Sheet1")
    
    Dim aaaaLastRowaaaa As Long
    aaaaLastRowaaaa = aaaaWsaaaa.Cells(aaaaWsaaaa.Rows.Count, "A").End(xlUp).Row
    
    With aaaaWsaaaa.Range("A1:Z" & aaaaLastRowaaaa)
        .Borders.LineStyle = xlContinuous
        .Borders.Weight = xlThin
    End With
End Sub

コードのAlt+F8を押し、マクロ選択画面でaaaaAddBordersaaaa関数を実行します。

このマクロでは、”Sheet1″というシートの最初の列から最終行までの範囲に罫線を引いています。

罫線のスタイルは連続線(xlContinuous)で、罫線の太さは細い(xlThin)に設定しています。

VBAマクロで罫線格子を引く方法(インプットボックスで先頭行列や最終行列を指定)

続いては、インプットボックスでどの行列からどの行列まで罫線を引くか指定しつつ、格子状に罫線を引く方法について解説していきます。

直観的に操作しやすいと思います!Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。

Sub aaaaInputBordersaaaa()
    Dim aaaaStartRowaaaa As Integer, aaaaEndRowaaaa As Integer
    aaaaStartRowaaaa = InputBox("Start row:")
    aaaaEndRowaaaa = InputBox("End row:")
    
    Dim aaaaWsaaaa As Worksheet
    Set aaaaWsaaaa = ActiveSheet
    
    With aaaaWsaaaa.Range(aaaaWsaaaa.Cells(aaaaStartRowaaaa, 1), aaaaWsaaaa.Cells(aaaaEndRowaaaa, 26))
        .Borders.LineStyle = xlContinuous
        .Borders.Weight = xlThin
    End With
End Sub

コードのAlt+F8を押し、マクロ選択画面でaaaaInputBordersaaaa関数を実行します。ユーザーはポップアップするインプットボックスに開始行と終了

行を入力します。そして、指定された範囲に対して罫線が引かれます。

VBAマクロで罫線格子を削除する方法(データの最終行まで先頭行から)

最後に、VBAマクロでデータ範囲の罫線を削除する方法について説明します。この方法では、指定した範囲内のすべての罫線を一括で消去できます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。

Sub aaaaClearBordersaaaa()
    Dim aaaaWsaaaa As Worksheet
    Set aaaaWsaaaa = ThisWorkbook.Sheets("Sheet1")
    
    Dim aaaaLastRowaaaa As Long
    aaaaLastRowaaaa = aaaaWsaaaa.Cells(aaaaWsaaaa.Rows.Count, "A").End(xlUp).Row
    
    aaaaWsaaaa.Range("A1:Z" & aaaaLastRowaaaa).Borders.LineStyle = xlNone
End Sub

コードのAlt+F8を押し、マクロ選択画面でaaaaClearBordersaaaa関数を実行します。

この関数は、”Sheet1″のシートの指定された範囲の罫線を消去します。すべての罫線を消去するために、LineStyleをxlNoneに設定しています。

 

まとめ VBAで罫線格子を消す・削除(最終行まで)【Borders.Add】【Range.ClearBorders】

以上の方法で、ExcelのVBAマクロを使用して罫線の格子を引いたり消したりすることができます。

VBAを使うことで、大量のデータに対しても素早く簡単に罫線の設定や解除が可能となり、作業効率を大幅に向上させることができるでしょう。