「excel マクロ 罫線 消す」
「エクセル マクロ 罫線 削除」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あります。
罫線を消す・削除するExcelマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。
罫線削除のマクロ記録でできるコード
罫線削除の操作をマクロ記録してみると、以下のようなコードが作られます。
Sub Sample()
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
マクロを作り慣れていない方だと、ちょっとプレッシャーを感じてしまうかもしれません。
選択範囲の罫線を削除するサンプル
選択されているセル範囲の、斜め線を除いた罫線を削除するのなら、以下のようなシンプルなマクロでOKです。
Selection.Borders.LineStyle = xlNone
End Sub
マクロ記録でできるコードはセルの、右上がり斜め線・右下がり斜め線・左辺・上辺・下辺・右辺・内側垂直線・内側水平線をバラバラに設定しているために、
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
という8行になっています。
RangeオブジェクトのBordersプロパティに引数を指定しなければ、(斜め線を除く)すべての罫線を表すBordersコレクションオブジェクトが取得でき、BordersコレクションオブジェクトのLineStyeleプロパティに定数・xNoneを指定すれば、一気に罫線を消すことができます。
アクティブシートの罫線を削除するサンプル
以下のようなマクロにすれば、アクティブなワークシートの、斜め線を除いたすべての罫線を削除できます。
Cells.Borders.LineStyle = xlNone
End Sub
Cellsプロパティで、アクティブなシート上のすべてのセルを表すRangeオブジェクトを取得して、先のマクロと同じくBodersコレクションオブジェクトのLineStyleプロパティに定数・xlNoneを指定して罫線を削除しています。
最終更新日時:2021-06-15 09:20
- Newer:日付データから2桁の月を取得したい-TEXT関数
- Older:オブジェクトブラウザを辞書として使う意味がわかった
Home » Excel VBA Rangeオブジェクト » 罫線・Borders » VBAで罫線を消す・削除する-Borders.LineStyle = xlNone