Я бы подумал, что в VBA есть способ установить 4 границы стены для каждой ячейки в диапазоне, но мне еще предстоит выяснить или найти такую. По сути, я хочу, чтобы диапазон, такой как (A1:R780), имел свой квадрат.
2 ответа
1
Я не знаю более эффективного способа, чем этот.
With Range("A1:R780")
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
.BorderAround xlContinuous
End with
Хотя я верю, это тоже сработает.
Range(“A1:R780").Borders.LineStyle = xlContinuous
0
Как я это сделал ... Строка ошибки находится в том случае, если в области нет вертикальных или горизонтальных линий. Честно говоря, изначально я не использовал 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