Alterar cor de bordas irregulares existentes - Excel

1

Eu gostaria de alterar a cor da borda existente de várias células - algumas delas têm apenas uma borda na parte superior / esquerda ou nenhuma etc. - no Excel.

Existe uma opção padrão para isso, ou isso pode ser feito com uma macro?

EDITAR:

Aparentemente, minha descrição não foi clara o suficiente. Eu estou tentando mudar a cor da borda (de células que já existem) de um calendário. Então, são 12 guias e muitas linhas.

Como você pode ver na imagem abaixo, nem todas as células têm a mesma borda (estilo), por exemplo. bordas que cercam toda a célula (algumas, algumas células têm apenas uma linha ao lado de cima / baixo e algumas não têm nada). Eu estou tentando mudar a cor de todos eles sem ter que re-desenhar todas as linhas. Eu gostaria de "atualizar" a cor atual.

    
por Ludo 25.10.2015 / 18:57

1 resposta

3

Você pode usar o código VBA como este - isso afetará a seleção atual (se a seleção for um intervalo de células

Option Explicit

Public Sub setBorders()
    Dim cel As Range, clr1 As Long, clr2 As Long

    clr1 = vbWhite  'if cell border color is different than white, and has LineStyle

    clr2 = vbRed    'change its color to vbRed

    If TypeOf Selection Is Range Then
        For Each cel In Selection       'select your Range
            With cel
                With .Borders(xlEdgeLeft)
                    If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2
                End With
                With .Borders(xlEdgeTop)
                    If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2
                End With
                With .Borders(xlEdgeBottom)
                    If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2
                End With
                With .Borders(xlEdgeRight)
                    If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2
                End With
            End With
        Next
    End If
End Sub

Para usá-lo, abra o editor VBA - Alt + F11 e cole o código em um módulo VBA padrão

    
por 25.10.2015 / 20:03