1
resposta

Criei uma macro/função para para resetar todos de uma única vez

Como eu tinha personalizado as cores de cada painel com um tema diferente, tanto para o preenchimento das células quanto para o design dos gráficos, e exemplo da aula não deu certo. Então eu usei uma macro assim como na aula anterior para resetar as cores de todos logo no início, e aplicar a cor escura apenas para o painel atual.

Private Sub MostrarPainel3()
'
' MostrarPainel3 Macro
' Exibe terceiro painel da Dashboard.
'

' Clareia as cores de todos os labels antes de fazer a operação de collapse
' Se repete para as macros MostrarPainel 1 e 2
    resetaCoresDashboard

    Columns("B:R").Select
    Range("B21").Activate
    Selection.EntireColumn.Hidden = True
    Columns("T:AJ").Select
    Range("T2").Activate
    Selection.EntireColumn.Hidden = True
    Columns("AK:BC").Select
    Selection.EntireColumn.Hidden = False
    Range("AK1:AK20").Select

' Cada uma das macros MostrarPainel 1, 2 e 3 tem sua propria cor escura
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent6
        .TintAndShade = 0.599993896298105
        .PatternTintAndShade = 0
    End With
End Sub

Sub resetaCoresDashboard()
'
' Reseta as cores de Labels do Dashboard para uma cor mais clara
' Ao fim das operações de collapse, apenas a label ativa  fica em uma cor mais escura
'

'
    Range("A1:A20").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent5
        .TintAndShade = 0.799981688894314
        .PatternTintAndShade = 0
    End With

    Range("S1:S20").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent4
        .TintAndShade = 0.799981688894314
        .PatternTintAndShade = 0
    End With

    Range("AK1:AK20").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent6
        .TintAndShade = 0.799981688894314
        .PatternTintAndShade = 0
    End With
End Sub
1 resposta

Parabéns pelo feito, Felipe!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software