Note: The other languages of the website are Google-translated. Back to English

Como adicionar vários campos na tabela dinâmica?

Quando criamos uma tabela dinâmica, precisamos arrastar os campos para os rótulos de linha ou valores manualmente, um por um. Se tivermos uma longa lista de campos, podemos adicionar alguns rótulos de linha rapidamente, mas os campos restantes devem ser adicionados à área Valor. Existe algum método rápido para adicionarmos todos os outros campos à área Valor com um clique na tabela dinâmica?

Adicione vários campos na área de valor da tabela dinâmica com código VBA

Guia Office Habilite a edição e navegação com guias no Office e torne seu trabalho muito mais fácil ...
O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%
  • Reutilizar qualquer coisa: Adicione as fórmulas, gráficos e tudo mais usados ​​ou complexos aos seus favoritos e reutilize-os rapidamente no futuro.
  • Mais de 20 recursos de texto: Extrair número da string de texto; Extraia ou remova parte dos textos; Converta números e moedas para palavras em inglês.
  • Ferramentas de mesclagem: Várias pastas de trabalho e planilhas em um; Mesclar várias células / linhas / colunas sem perder dados; Mesclar linhas duplicadas e soma.
  • Ferramentas de divisão: Divida os dados em várias folhas com base no valor; Uma pasta de trabalho para vários arquivos do Excel, PDF ou CSV; Uma coluna para várias colunas.
  • Colar Ignorando Linhas ocultas / filtradas; Contagem e soma por cor de fundo; Envie emails personalizados para vários destinatários em massa.
  • Super Filtro: Crie esquemas de filtro avançados e aplique a qualquer planilha; tipo por semana, dia, frequência e muito mais; filtros por negrito, fórmulas, comentário ...
  • Mais de 300 recursos poderosos; Funciona com Office 2007-2021 e 365; Suporta todos os idiomas; Fácil implantação em sua empresa ou organização.

seta azul bolha direita Adicione vários campos na área de valor da tabela dinâmica com código VBA

Infelizmente, não há nenhuma caixa de seleção para verificarmos rapidamente todos os campos na Lista de campos da tabela dinâmica com um clique, mas, com o seguinte código VBA, pode ajudá-lo a adicionar os campos restantes à área Valores de uma vez. Faça o seguinte:

1. Depois de criar a tabela dinâmica, em primeiro lugar, você deve adicionar os campos de rótulo de linha conforme sua necessidade, e deixar os campos de valor no Escolha os campos para adicionar ao relatório lista, veja a captura de tela: </ p>

doc-add-multiple-fields-1

2. Segure o ALT + F11 chaves para abrir o Janela Microsoft Visual Basic for Applications.

3. Clique inserção > Móduloe cole o seguinte código no Janela Módulo.

Código VBA: adicionar vários campos na área de valor das tabelas dinâmicas na planilha ativa

Sub AddAllFieldsValues()
'Update 20141112
    Dim pt As PivotTable
    Dim I As Long
    For Each pt In ActiveSheet.PivotTables
        For I = 1 To pt.PivotFields.Count
            With pt.PivotFields(I)
              If .Orientation = 0 Then .Orientation = xlDataField
            End With
        Next
    Next
End Sub

4. Então aperte F5 chave para executar este código, todos os campos restantes foram adicionados à área Valores ao mesmo tempo, veja a captura de tela:

doc-add-multiple-fields-1

Nota: Este código VBA é aplicado a todas as tabelas dinâmicas da planilha ativa.


Artigos relacionados:

Como listar todas as tabelas dinâmicas de uma pasta de trabalho?

Como verificar se existe uma tabela dinâmica em uma pasta de trabalho?


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório

 

Comentários (23)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Macro realmente agradável e útil. No entanto, eu já havia adicionado metade dos meus campos nos Valores e quando executei essa macro, adicionei todos os mesmos campos novamente. Alguma ideia do porquê?
Este comentário foi feito pelo moderador no site
Uau. Funciona muito muito bem. Muito Obrigado! No entanto, estou meio surpreso que a Microsoft não tenha um recurso embutido para uma tarefa bastante simples ...
Este comentário foi feito pelo moderador no site
Isto é fantástico. A macro pode ser modificada para adicionar todos os rótulos de linha em vez de valores?
Este comentário foi feito pelo moderador no site
Existe uma maneira de executar isso apenas para campos excluídos, para que, ao executá-lo, não acabe com campos duplicados? ou seja. "Campo" e "Campo_2"
Este comentário foi feito pelo moderador no site
[quote]Existe uma maneira de executar isso apenas para campos excluídos, para que, ao executá-lo, não acabe com campos duplicados? ou seja. "Campo" e "Campo_2"Por Shaun[/quote] Sim- dois exemplos Use isso para adicionar todos os itens não verificados restantes em ROWS Sub AddAllFieldsRow() Dim pt As PivotTable Dim iCol As Long Dim iColEnd As Long Set pt = ActiveSheet.PivotTables(1) With pt iCol = 1 iColEnd = .PivotFields.Count Para iCol = 1 Para iColEnd Com .PivotFields(iCol) If .Orientation = 0 Then .Orientation = xlRowField End If End With Next iCol End With End Sub Use isso para adicionar itens não verificados restantes a VALUES Sub AddAllFieldsValues() Dim pt As PivotTables Dim iCol As Long Dim iColEnd As Long Definir pt = ActiveSheet.PivotTables(1) Com pt iCol = 1 iColEnd = .PivotFields.Count Para iCol = 1 Para iColEnd Com .PivotFields(iCol) If .Orientation = 0 Then .Orientation = xlDataField End If End With Next iCol End With End Sub
Este comentário foi feito pelo moderador no site
Existe uma maneira de adicionar apenas alguns campos ekstra, não os restantes ou todos eles, mas apenas um par daqueles que ainda não estão marcados? :)
Este comentário foi feito pelo moderador no site
Sim, para ecoar o markus, existe uma maneira de editar o código para adicionar apenas campos desmarcados que certamente possuem rótulos de campo (como com uma função if contém)? Por exemplo, eu tenho uma pergunta que é na verdade 50 valores sim/não por tópico e gostaria de mover todos eles para o campo de valores. Todos começam com o mesmo rótulo de pergunta q9_[tópico de pergunta específico].
Este comentário foi feito pelo moderador no site
Existe alguma maneira se quisermos adicionar algumas colunas selecionadas do arquivo base em vez de todas.?
Este comentário foi feito pelo moderador no site
Seu valor takiung como contagem. como posso converter toda a contagem como soma
Este comentário foi feito pelo moderador no site
Você pode clicar em seu campo (na área onde você arrasta seus campos para: rótulos de coluna, rótulos de linha, etc.)
A     El
Este comentário foi feito pelo moderador no site
Código VBA: altere as configurações de vários campos na tabela dinâmica
https://www.extendoffice.com/documents/excel/2354-excel-pivot-table-change-multiple-field-settings.html
Este comentário foi feito pelo moderador no site
Isso é ótimo! Obrigado.
Este comentário foi feito pelo moderador no site
O "xlDataField" não funciona com o PowerPivot? Eu tenho o código abaixo, que é usado para adicionar todas as medidas à tabela dinâmica. Funciona com "xlColumnField" e "xlRowField". Alguma ideia de como fazer isso funcionar?

Sub AddAllFieldsValues()
Dim pt Como Tabela Dinâmica
Dim iCol enquanto
Dim iColEnd Enquanto

Definir pt = ActiveSheet.PivotTables (1)

Com pt

iCol = 1
iColEnd = .CubeFields.Count

Para iCol = 1 Para iColEnd
Com .CubeFields(iCol)
Se .Orientation = xlHidden Então
.Orientation = xlDataField
Se acabar
Terminar com
Próximo iCol

Terminar com

End Sub
Este comentário foi feito pelo moderador no site
Oi.

Dá-me um erro de compilação quando clico em Executar

Por favor ajude-
Este comentário foi feito pelo moderador no site
Funciona como um encanto. Obrigado
Este comentário foi feito pelo moderador no site
Obrigado, me ajudou muito
Este comentário foi feito pelo moderador no site
MUITO OBRIGADO!!!
Este comentário foi feito pelo moderador no site
Nota: a mensagem de erro do Che:




Sub AddAllFieldsValues()




'Atualizar 20141112



Escurecer
pt Como Tabela Dinâmica





Dim I As
longo





Para cada
pt Em ActiveSheet.PivotTables





Escolha
I = 1 Para pt.PivotFields.Count





Terminar com







Seguinte



Seguinte




End Sub










Nota: Che está tentando adicionar o seguinte
fields/snapshot- "Soma de OUTRA Diferença, Soma de 4096
Diferença" mais de 80 campos a serem
adicionado







OUTRO Diferença



4096 Diferença



4016 Diferença
Este comentário foi feito pelo moderador no site
Se "Os valores são
"0" ou "Null" como suprimir valores de linha da exibição

(ex. Soma de 2743 Diferença)





Pivô "linhas"
Pivô "Valores"





Rótulos de linha





NP9 - Total não gasto
Dotações





Soma de OUTROS Diferença 1,045,355,165.31




Soma de 3200 Diferença
0.00




Soma de 0108 Diferença
12,873,630.29



Soma de 4586 Diferença
(33,024,706.93)



Soma de 0148 Diferença
(72,046,783.14)



Soma de 0129 Diferença
(5,583,891.98)



Soma de 4598 Diferença
(929,574.56)



Soma de 2743 Diferença



Soma de 4041 Diferença
0.00



Soma de 2799 Diferença
Este comentário foi feito pelo moderador no site
Existe uma maneira de editar a macro que enviaria os campos para o rótulo das linhas em vez dos valores?
Este comentário foi feito pelo moderador no site
Задача же не всегда стоит в получении списка, хочется допустим поправить названия таблиц или исто илиния таблиц или исто илиния. Можете реализовать?
Este comentário foi feito pelo moderador no site
Oi, existe uma maneira de adicionar apenas as colunas não selecionadas? obrigado. 
Este comentário foi feito pelo moderador no site
Estou executando este código. Quanto tempo leva para concluir? Agora são 45 minutos e ainda está funcionando. Por favor me ajude. A propósito, minhas colunas totais de campo são 3600.
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL