Все границы эквивалентны в Excel для диапазона

6253
Crazyd

Я бы подумал, что в VBA есть способ установить 4 стены для каждой ячейки в диапазоне, но мне еще предстоит выяснить или найти такую. По сути, я хочу, чтобы диапазон, такой как (A1: R780), имел свой квадрат.

0
возможный дубликат http://stackoverflow.com/questions/13121425/border-around-each-cell-in-a-range Musselman 8 лет назад 1
Более простой вопрос не смотрел на Stack Over Flow из-за того, что на самом деле это не вопрос программирования. Crazyd 6 лет назад 0

2 ответа на вопрос

1
damik_

Я не знаю более эффективного способа, чем этот.

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

Хотя я верю, это тоже сработает.

Range(“A1:R780").Borders.LineStyle = xlContinuous 
Спасибо, я на самом деле нашел гораздо более сложный способ сделать это ... вероятно, за 10 минут до того, как вы ответили ... только сейчас проверил, есть ли более простой способ ... У меня было 6 команд, чтобы сделать ту же самую основную вещь , Второй не работал, но с Range работал. Crazyd 8 лет назад 0
0
Crazyd

How I did it... The on error line is in case the area doesn't have Vertical or Horizontal lines. Honestly originally I didn't use BorderAround I used xlEdgeBottom, xlEdgeTop, xlEdgeLeft, xlEdgeRight.

I had to use call 5 times aka reason for making it a subroutine, plus they were dynamic.

Sample Call

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

Subroutine

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 

Похожие вопросы