ExcelVBA セルに罫線を引いたり消したり|データを見やすく整理する方法

 

ExcelVBA  セルに罫線を引いたり消したりすることで、データを見やすく整理できます。 大量のデータに一括で罫線を設定・削除でき、作業を自動化できます。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

2025年の目標は繰り返し作業に悩まされない年にしませんか? Excel VBAを活用した効率化がその第一歩
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事

 

Excel VBA 罫線を引く消す|シーン

以下のシーンで利用します。

1.表を作成する際に、セルの枠線を明確にする。

2.レポートや帳票を整えるために罫線を自動設定する。

3.既存の罫線をリセットして、見た目を統一する。

 

 

Excel VBA 罫線を引く消すサンプルコード

Excel VBAで効率化の準備をしてみませんか?2025年をよりスムーズに過ごすための資格
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

罫線を設定する方法

プロパティ 説明
.LineStyle = xlContinuous 実線を引く
.LineStyle = xlNone 罫線を消す
.Weight = xlThin 細線
.Weight = xlMedium 中線
.Weight = xlThick 太線
.Color = RGB(255, 0, 0) 赤色の罫線を引く

 

格子状の罫線を引く(外枠 + 内部)

標準モジュール

Option Explicit

Sub 格子罫線を引く()
    Dim ws As Worksheet
    Dim rng As Range
    
    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set rng = ws.Range("B2:D5") ' B2~D5の範囲に罫線を設定
    
    With rng.Borders
        .LineStyle = xlContinuous ' 実線
        .Weight = xlThin ' 細線
        .Color = RGB(0, 0, 0) ' 黒色
    End With
End Sub

.Borders を使うと、セル範囲全体に罫線が設定できる。

.LineStyle = xlContinuous で実線を引く。

.Weight = xlThin で細線を指定

 

外枠だけに罫線を引く

標準モジュール

Option Explicit

Sub 外枠罫線を引く()
    Dim ws As Worksheet
    Dim rng As Range
    
    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set rng = ws.Range("B2:D5") ' B2~D5の範囲に外枠を設定

    ' 外枠の罫線を設定
    With rng.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlMedium
    End With
    With rng.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlMedium
    End With
    With rng.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlMedium
    End With
    With rng.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlMedium
    End With
End Sub

xlEdgeTop (上), xlEdgeBottom (下), xlEdgeLeft (左), xlEdgeRight (右)で 外枠のみ設定可能

.Weight = xlMedium で 中線を指定

罫線を消す

標準モジュール

Option Explicit

Sub 罫線を消す()
    Dim ws As Worksheet
    Dim rng As Range
    
    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set rng = ws.Range("B2:D5") ' B2~D5の範囲の罫線を削除

    With rng.Borders
        .LineStyle = xlNone ' 罫線を消す
    End With
End Sub

.LineStyle = xlNone で 罫線をすべて削除

必要な範囲だけ罫線を消すことが可能

罫線の色を変更

標準モジュール

Option Explicit

Sub 罫線の色を変更()
    Dim ws As Worksheet
    Dim rng As Range
    
    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set rng = ws.Range("B2:D5") ' B2~D5の範囲に赤色の罫線を設定

    With rng.Borders
        .LineStyle = xlContinuous
        .Weight = xlThin
        .Color = RGB(255, 0, 0) ' 赤色に設定
    End With
End Sub

.Color = RGB(255, 0, 0) で 罫線の色を変更

RGB(0, 0, 255)` で青、 RGB(0, 255, 0) で緑など、自由に色を設定可能

罫線を設定するときの注意点
・ Range("A1:B5").Borders.LineStyle = xlContinuous は、すべての罫線を設定 する。

・Borders(xlEdgeTop)` などを使うと、個別に設定可能

・ RGB()` で色を設定できるが、見やすさを考慮する

罫線を削除するときの注意点
・ Borders.LineStyle = xlNone は、その範囲の罫線をすべて削除

・ 特定の罫線だけ削除したい場合は、 xlEdgeTop などを指定する

Excel VBA 罫線を引く消す|まとめ

・ 罫線を設定するには Borders オブジェクトを使用

・ xlEdgeTop`, xlEdgeBottom などを使えば外枠だけ引ける。

・ LineStyle = xlNone で罫線を削除できる。

・ Color を使えば罫線の色も変更可能

 

Excel VBAで自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。