OfficeType

VBA~セルの罫線を消去しよう~Excel

VBAでセルの罫線を消去する方法を解説します。

罫線のみ消去

セルの罫線のみを消去したい場合、罫線なしに設定するのと同じなのでBorder.LineStyleプロパティをxlLineStyleNoneに設定します。下のコードを実行するとセルB2のみ罫線が消去されます。

Sub test1()

Range("B2").Borders.LineStyle = xlLineStyleNone

End Sub

image-01

image-02

全ての書式をクリア

罫線を含む全ての書式をクリアしたい場合はRange.ClearFormatsメソッドでクリアできます。下のコードを実行すると罫線、色、フォント等の全ての書式がクリアされます。

Sub test2()

Range("B2").ClearFormats

End Sub

罫線を消去する箇所を指定

罫線を消去する箇所を指定したい時はBordersオブジェクトの定数で指定します。書き方はBorders(定数)になります。定数を設定しない場合は上下左右、範囲内の水平、垂直の罫線が消去されます。下のコードを実行するとセルB2の下側に罫線が消去されます。

Sub test3()

Range("B2").Borders(xlEdgeBottom).LineStyle = xlLineStyleNone

End Sub

image-03

image-04

罫線を引く箇所の一覧は以下の通りになります。

名前説明
xlDiagonalDown5範囲内の各セルの左上隅から右下に移動する罫線。
xlDiagonalUp6範囲の各セルの左下隅から右上隅に移動する罫線。
xlEdgeBottom9範囲内の下側の罫線
xlEdgeLeft7範囲の左側の罫線。
xlEdgeRight10範囲の右端の罫線。
xlEdgeTop8範囲内の上側の罫線
xlInsideHorizontal12範囲外の罫線を除く、範囲内のすべてのセルの水平罫線
xlInsideVertical11範囲外の罫線を除く、範囲内のすべてのセルの垂直罫線

範囲の罫線を消去する

範囲を指定したい時はRange("範囲の左上のセル:範囲の右下のセル")で指定できます。 下のコードを実行するとセルB2からセルD4に罫線がクリアされます。

Sub test6()

Range("B2:D4").Borders.LineStyle = xlLineStyleNone

End Sub

image-05

image-06

指定したシートの罫線を消去

シートを指定するときはWorksheets("シート名")で指定できます。下のコードを実行するとSheet2のセルB2の罫線が消去されます。

Sub test5()

Worksheets("Sheet2").Range("B2").Borders.LineStyle = xlLineStyleNone

End Sub

image-07

image-08

ブックを指定して罫線を設定

ブックを指定するときはWorkbooks("ブック名")で指定できます。Book1.xlsxというブックが開いた状態で下のコードを実行するとBook1.xlsxのSheet1のセルB2の罫線が消去されます。

Sub test6()

Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("B2").Borders.LineStyle = xlLineStyleNone

End Sub