VBA~セルの罫線を消去しよう~Excel
VBAでセルの罫線を消去する方法を解説します。
罫線のみ消去
セルの罫線のみを消去したい場合、罫線なしに設定するのと同じなのでBorder.LineStyleプロパティをxlLineStyleNoneに設定します。下のコードを実行するとセルB2のみ罫線が消去されます。
Sub test1() Range("B2").Borders.LineStyle = xlLineStyleNone End Sub
全ての書式をクリア
罫線を含む全ての書式をクリアしたい場合はRange.ClearFormatsメソッドでクリアできます。下のコードを実行すると罫線、色、フォント等の全ての書式がクリアされます。
Sub test2() Range("B2").ClearFormats End Sub
罫線を消去する箇所を指定
罫線を消去する箇所を指定したい時はBordersオブジェクトの定数で指定します。書き方はBorders(定数)になります。定数を設定しない場合は上下左右、範囲内の水平、垂直の罫線が消去されます。下のコードを実行するとセルB2の下側に罫線が消去されます。
Sub test3() Range("B2").Borders(xlEdgeBottom).LineStyle = xlLineStyleNone End Sub
罫線を引く箇所の一覧は以下の通りになります。
名前 | 値 | 説明 |
---|---|---|
xlDiagonalDown | 5 | 範囲内の各セルの左上隅から右下に移動する罫線。 |
xlDiagonalUp | 6 | 範囲の各セルの左下隅から右上隅に移動する罫線。 |
xlEdgeBottom | 9 | 範囲内の下側の罫線 |
xlEdgeLeft | 7 | 範囲の左側の罫線。 |
xlEdgeRight | 10 | 範囲の右端の罫線。 |
xlEdgeTop | 8 | 範囲内の上側の罫線 |
xlInsideHorizontal | 12 | 範囲外の罫線を除く、範囲内のすべてのセルの水平罫線 |
xlInsideVertical | 11 | 範囲外の罫線を除く、範囲内のすべてのセルの垂直罫線 |
範囲の罫線を消去する
範囲を指定したい時はRange("範囲の左上のセル:範囲の右下のセル")で指定できます。 下のコードを実行するとセルB2からセルD4に罫線がクリアされます。
Sub test6() Range("B2:D4").Borders.LineStyle = xlLineStyleNone End Sub
指定したシートの罫線を消去
シートを指定するときはWorksheets("シート名")で指定できます。下のコードを実行するとSheet2のセルB2の罫線が消去されます。
Sub test5() Worksheets("Sheet2").Range("B2").Borders.LineStyle = xlLineStyleNone End Sub
ブックを指定して罫線を設定
ブックを指定するときはWorkbooks("ブック名")で指定できます。Book1.xlsxというブックが開いた状態で下のコードを実行するとBook1.xlsxのSheet1のセルB2の罫線が消去されます。
Sub test6() Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("B2").Borders.LineStyle = xlLineStyleNone End Sub