如何用vba处理excel单元格区域的边框线? - VBA - ExcelOffice

如何用vba处理excel单元格区域的边框?





在使用excel的过程中,常常需要处理单元格的边框,比如判断单元格是否有边框、给选定的单元格区域添加各种边框线等。

在vba中,可以使用单元格区域对象的Borders属性来返回各个位置的边框线对象,然后对其进行个性化设置。

一个单元格区域可以有内外、对角等各种边框线,相应的常量如下表所示。

常数 描述
xlDiagonalDown 5 单元格区域左上角到右下角的对角边框线
xlDiagonalUp 6 单元格区域左下角到右上角的对角边框线
xlEdgeBottom 9 单元格区域的底端边框线
xlEdgeLeft 7 单元格区域的左端边框线
xlEdgeRight 10 单元格区域的右端边框线
xlEdgeTop 8 单元格区域的顶端边框线
xlInsideHorizontal 12 单元格区域内的水平边框线,不包含外围的四周边框线
xlInsideVertical 11 单元格区域内的垂直边框线,不包含外围的四周边框线

边框的边框线属性可以通过Border对象的LineStyle属性获得。通过LineStyle属性即可以判断单元格是否有边框,还可以给单元格添加边框,当然也可以使用单元格区域的BorderAround方法进行边框线的添加。
由于这是个经常的操作,故将给excel单元格区域添加边框线的代码编写如下,成为可以独立调用的sub过程。

当需要设置某个单元格区域的边框线时,只需要Call SetBorder(oRng)即可。

LineStyle属性有以下常量,通过对LineStyle属性的值可以判断单元格区域是否有边框线。

常熟 说明
xlContinuous 1 Continuous line.
xlDash -4115 Dashed line.
xlDashDot 4 Alternating dashes and dots.
xlDashDotDot 5 Dash followed by two dots.
xlDot -4118 Dotted line.
xlDouble -4119 Double line.
xlLineStyleNone -4142 No line.
xlSlantDashDot 13 Slanted dashes.

如下代码可以判断单元格区域H2是否有右边框:

 

 

打赏

发表评论