Excel VBA Pivot Table Alterando Cores celulares

votos
0

Eu estou esperando que alguém pode me ajudar a descobrir uma característica estética realmente irritante de tabelas dinâmicas no Excel.

Aqui está o que a minha tela atual análise parece sem as tabelas dinâmicas: digite No entanto, tenho colocado tabelas dinâmicas nas caixas pretas e têm uma macro para auto atualizá-los depois que importar mais dados. Que está abaixo:

Sub UpdatePivots()
    ' This sub is intended to update all pivot charts in the by switching to the appropriate
    ' worksheet, locating the appropriate pivot table, and updating them.

    Dim ws As Worksheet
    Dim PT As PivotTable
    Dim pvtItem As PivotItem

    For Each ws In ActiveWorkbook.Worksheets '<~~ Loop all worksheets in workbook
        For Each PT In ws.PivotTables        '<~~ Loop all pivot tables in worksheet
            PT.PivotCache.Refresh
        Next PT
    Next ws
End Sub

No entanto, as alterações de dados importados. Às vezes é muito pequeno, às vezes é muito grande, e assim que eu acabar com meus pivô tabelas parecido com isto: digite

Como é que é possível para mim quer escrever um código, ou alterar as configurações, então as linhas brancas feias não aparecem? Eu gostaria que o cinza para permanecer se não há linhas de articulação. Eu tentei o check-in configurações de formatação de tabela dinâmica, mas não tiveram sucesso.

Publicado 20/10/2018 em 13:50
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Você pode usar um identificador última linha padrão e, em seguida, colorir as células interiores abaixo. Você terá que escolher um número da linha max (aqui forma sempre cor última linha para baixo para 100, assim que mudar 100 se necessário). Você também vai precisar para definir as colunas desde que você tem uma borda preta.

Por último, você só precisa adicionar o código de cores. Eu adicionei um pouco de código abaixo para extrair o código de cor se você não sabe o que ele já.

Esta solução irá trabalhar para o pivô esquerda. Você vai precisar de duplicar as duas linhas de código que eu adicionei para o pivô na direita.


Sub UpdatePivots()

Dim ws As Worksheet
Dim PT As PivotTable, pvtItem As PivotItem
Dim LRow As Long

For Each ws In ActiveWorkbook.Worksheets
    For Each PT In ws.PivotTables
        PT.PivotCache.Refresh
        LRow = ws.Range("D" & ws.Rows.Count).End(xlUp).Offset(1).Row
        ws.Range(ws.Cells(LRow, "D"), ws.Cells(100, "G")).Interior.Color = 11184814
    Next PT
Next ws

End Sub

Se você não sabe o código de cor, você pode executar o código abaixo para encontrá-lo!

Sub ColorCode()

Dim Target As Range
Set Target = Application.InputBox("Select desired cell to return color code", Type:=8)

If Not Target.Count > 1 Then
    MsgBox "Color Code: " & Target.Interior.Color
End If

End Sub
Respondeu 20/10/2018 em 15:30
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more