vba excel set outside borders of range code example

Example: excel vba set border around range

'VBA routine to set the border AROUND or THROUGH a range:

Sub SetRangeBorders(r As Range, Optional edges As Boolean = 1, Optional stl = 1, Optional clr = 0, Optional wgt = 2)
    Dim e
    If edges Then
        For Each e In Array(xlEdgeLeft, 8, 9, 10)
            SetBorder r.Borders(e), stl, clr, wgt
        Next
    Else
        SetBorder r.Borders, stl, clr, wgt
    End If
End Sub

Sub SetBorder(b, Optional stl = 1, Optional clr = 0, Optional wgt = 2)
    b.LineStyle = stl
    b.Color = clr
    b.Weight = wgt
End Sub

'--------------------------------------------------------------------

SetRangeBorders [d2:k10]
SetRangeBorders [d2:k10], False, vbRed
SetRangeBorders [d2:k10], , , xlThick

Tags:

Vb Example