Artigo: 119318 - Última revisão: quinta-feira, 23 de Junho de 2005 - Revisão: 2.0

Campos de dados não incluídos no conjunto PivotFields

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sintomas

Quando executa um macro Visual Basic for Applications que utiliza o conjunto de PivotFields para devolver os campos numa tabela dinâmica, os campos da área de dados (DataFields objecto) não são devolvidos.

Causa

Este comportamento ocorre porque a colecção PivotFields não contém o objecto DataFields ou os campos que estão na área de dados. Campos de dados são criados dos campos de tabela dinâmica. Por exemplo, o campo de dados "Soma de lucro" é criado arrastando o campo de tabela dinâmica "Margem" para a área de dados na tabela dinâmica no Assistente de tabela dinâmica. Vários campos de dados poderão ser criados do mesmo campo de tabela dinâmica.

Como contornar

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador. Para devolver apenas os campos de dados numa tabela dinâmica, use o objeto DataFields como no seguinte exemplo:
   Sub DisplayDataFields()
       Dim x As Variant
       Dim Pivot1 As PivotTable
       Set Pivot1 = Worksheets(1).PivotTables("Pivot1")
       For Each x In Pivot1.DataFields
           'Display pivot field name (name of field in table)
           MsgBox "Pivotfield Name is " & x.Name
           'Display pivot field source name (name of field in original
           'data)
           MsgBox "Pivotfield SourceName is " & x.SourceName
       Next
   End Sub
				
para devolver os campos de tabela dinâmica visíveis da tabela dinâmica própria, utilize a propriedade VisibleFields em vez da propriedade DataFields como na seguinte linha:
   For Each x In Pivot1.VisibleFields
				

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo.

Mais Informação

Pode utilizar a propriedade Nome_de_origem do objecto PivotField para devolver o nome do campo de tabela dinâmica, como é apresentado em dados de origem para a tabela dinâmica. A propriedade Name do objecto PivotField devolve o nome do campo de tabela dinâmica, tal como aparece na tabela.

Referências

Para obter mais informações sobre o objecto PivotField, clique no botão Procurar na referência do Visual Basic e escreva:
mover campos: descrito
Para obter mais informações sobre a propriedade Nome_de_origem, clique no botão Procurar na referência do Visual Basic e escreva:
Propriedade Nome_de_origem
No Microsoft Excel 7.0, clique em Assistente de respostas no menu Ficheiro, escreva o seguinte:
Propriedade Nome_de_origem
e clique em Procurar.

A informação contida neste artigo aplica-se a:
  • Microsoft Excel 97 Standard Edition
Palavras-chave: 
kbmt kbbug kbdtacode kbpending KB119318 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 119318  (http://support.microsoft.com/kb/119318/en-us/ )
Retired KB ArticleExclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.