Excel 中某一区域的所有边框均等效

Excel 中某一区域的所有边框均等效

我认为 VBA 中有一种方法可以为某个范围内的每个单元格设置 4 个墙边框,但我还没有想出或找到一种方法。基本上,我希望 (A1:R780) 等范围都有自己的方块。

答案1

我不知道还有比这更有效的方法。

With Range("A1:R780")
    .Borders(xlInsideVertical).LineStyle = xlContinuous
    .Borders(xlInsideHorizontal).LineStyle = xlContinuous
    .BorderAround xlContinuous
End with

但我相信这也会起作用。

Range(“A1:R780").Borders.LineStyle = xlContinuous 

答案2

我是如何做到的... 错误行是针对区域没有垂直线或水平线的情况。老实说,最初我没有使用 BorderAround,而是使用了 xlEdgeBottom、xlEdgeTop、xlEdgeLeft、xlEdgeRight。

我不得不使用 5 次调用,也就是将其作为子程序的原因,而且它们是动态的。

示例通话

Call BoxIt(Range("A1:z25"))

子程序

Sub BoxIt(aRng As Range)
On Error Resume Next

    With aRng

        'Clear existing
        .Borders.LineStyle = xlNone

        'Apply new borders
        .BorderAround xlContinuous, xlThick, 0
        With .Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .Weight = xlMedium
        End With
        With .Borders(xlInsideHorizontal)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .Weight = xlMedium
        End With
    End With

End Sub

相关内容