2016-06-21 2 views
0

my table nowИзменение границ и стилей линий вокруг различных диапазонов в УВЕ

[what I want my table to look like[2]

Я пытаюсь получить надлежащую границу вокруг моего стола, но каждый раз, когда я пытаюсь сделать его вокруг определенных диапазонов на основе цвета, его выходит как пунктирные линии. Я хочу сплошные линии, но я ничего не делаю с работами linestyle. Я также не хочу черных вертикальных линий в красных ящиках, но это был единственный способ получить сплошную линию, не разбитую. Первая фотография, которую я приложил, похожа на мою, а вторая - на то, что я хочу, чтобы она выглядела. Вот код, который я использую, а также:

Sub borders() 
' 
' borders and colors 
' 

' 
'B column = blue 

    range("B2:B46, D2:D6").Select 
    Selection.BorderAround 
    With Selection.Interior 

     .Color = 6108951 

    End With 

    'C column = gray 

    range("C2:C6").Select 
    With Selection.borders(xlLeft) 
    .Weight = xlThin 
    End With 
    With Selection.borders(xlRight) 
    .Weight = xlThin 
    End With 

    With Selection.Interior 
    .Color = 12632256 
    End With 


    range("C7:C46").Select 
    Selection.borders.LineStyle = xlContinuous 
    With Selection.Interior 
    .Color = 12632256 
    End With 

    'thin columns = gray 
    range("E2:E46, I2:I46, M2:M46, Q2:Q46, U2:U46, Y2:Y46, AC2:AC46, AG2:AG46, AK2:AK46, AO2:AO46, AS2:AS46").Select 
    Selection.BorderAround (xlThin) 
    Selection.borders.LineStyle = xlContinuous 
    With Selection.Interior 
    .Color = 11711154 
    End With 

    'rows gray 
    range("B21, B36, B43, B46").Select 
    With Selection.Interior 
    .Color = 12632256 
    End With 

'categories gray 

range("D7:D45").Select 
Selection.borders.LineStyle = xlContinuous 

With Selection.Interior 
.Color = 15395562 
    End With 

    'red rows 
    range("C21:AS21, C36:AS36, C43:AS43, C46:AS46").Select 
    Selection.BorderAround (xlThin) 
    Selection.borders.LineStyle = xlContinuous 
    'Selection.Border -Style: Solid 
     With Selection.Interior 
     .Color = 128 
    End With 


    'outside thick border 

range("B2:AX46").Select 
    Selection.BorderAround , Weight:=xlThick 


    'border around trigger, weight, limit 
    range("AU5:AW20").Select 
    Selection.borders.LineStyle = xlContinuous 

    range("AU5:AW6").Select 
    Selection.borders.LineStyle = xlNone 
    Selection.BorderAround (xlThin) 




    End Sub 

ответ

1

Может попробовать сделать это все один звонок, так

'thin columns = gray 
    range("E2:E46, I2:I46, M2:M46, Q2:Q46, U2:U46, Y2:Y46, AC2:AC46, AG2:AG46, AK2:AK46, AO2:AO46, AS2:AS46").Select 
    Selection.BorderAround Weight:=xlThin, LineStyle:= xlContinuous 
    With Selection.Interior 
    .Color = 11711154 
    End With 
+0

хорошо, что работал спасибо! Еще один вопрос: любые идеи о том, как заставить красную линию перекрывать серые столбцы, чтобы они были черным контуром, не отображаются красным цветом? – beks123

+0

@ beks123 Я думаю, что лучшим методом было бы просто удалить левую и правую границы 'Line (xlLeft/xlRight) .Visible = False' для всех ячеек в этом диапазоне, кроме тех, которые находятся на самых концах. Сделайте это после того, как все будет выполнено (чтобы убедиться, что вы не удаляете строки до их добавления) – RGA

Смежные вопросы