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

Como manter a segmentação da Tabela Dinâmica em movimento com a rolagem da planilha no Excel?

Ao trabalhar com a Tabela Dinâmica, você pode inserir segmentações de dados para filtrar os dados visualmente da tabela. Este artigo fala sobre como manter a segmentação da Tabela Dinâmica sempre visível ao rolar a planilha.

Mantenha a segmentação da Tabela Dinâmica em movimento com a rolagem da planilha com o código VBA


Mantenha a segmentação da Tabela Dinâmica em movimento com a rolagem da planilha com o código VBA

O seguinte script VBA pode ajudá-lo a manter a segmentação da Tabela Dinâmica se movendo com a planilha. Faça o seguinte.

1. aperte o outro + F11 simultaneamente para abrir o Microsoft Visual Basic para Aplicações janela.

2. No Microsoft Visual Basic para Aplicações janela, clique duplo Esta pasta de trabalho no painel esquerdo do Projeto e, em seguida, copie e cole o código VBA abaixo no Esta Pasta de Trabalho (Código) janela. Veja a imagem:

Código VBA: mantenha a segmentação da tabela dinâmica se movendo com a rolagem da planilha

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Dim ShF As Shape
    Dim ShM As Shape
    'specify a slicer
    Application.ScreenUpdating = False
    Set ShF = ActiveSheet.Shapes("Column1")
    Set ShM = ActiveSheet.Shapes("Column2")
    'change position of the slicer
    With Windows(1).VisibleRange.Cells(1, 1)
        ShF.Top = .Top
        ShF.Left = .Left + 300
        ShM.Top = .Top
        ShM.Left = .Left + 100
    End With
    Application.ScreenUpdating = True
End Sub

Notas:

1). No código, Coluna1 e Coluna2 são nomes das segmentações de dados.

2). Você pode especificar a posição das segmentações de dados enquanto rola a planilha no código.

3). E você pode adicionar mais segmentações ao código ou removê-las conforme necessário.

3. aperte o outro + Q chaves para fechar o Microsoft Visual Basic para Aplicações caixa de diálogo da janela.

A partir de agora, as segmentações especificadas serão movidas com a célula ativa enquanto rola a planilha. Veja a imagem:


Artigos relacionados:


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 (10)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Oi,
Obrigado por este VBA.

Eu não tenho absolutamente nenhuma idéia sobre VBA e, portanto, minha pergunta.

Usei esse VBA e fiquei com uma dúvida.
Como posso alterar este VBA para que funcione apenas para uma planilha.

No momento, tenho 8 planilhas e toda vez que vou para outra planilha, ela falha e me pede para finalizar ou depurar.
Eu fiz exatamente como mostrado acima.


Este é o meu VBA aqui ..
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim ShF como forma
Dim ShM como forma
'especificar um fatiador
Application.ScreenUpdating = False
Set ShF = ActiveSheet.Shapes("Cliente 1")
Set ShM = ActiveSheet.Shapes("Lembrete 1")
'muda a posição do fatiador
Com Windows(1).VisibleRange.Cells(1, 1)
ShF.Top = .Top + 2
ShF.Esquerda = .Esquerda + 475
ShM.Top = .Top + 180
ShM.Esquerda = .Esquerda + 475
Terminar com
Application.ScreenUpdating = True
End Sub


Por favor me ajude.
Este comentário foi feito pelo moderador no site
Oi,
Obrigado por este VBA.

Eu não tenho absolutamente nenhuma idéia sobre VBA e, portanto, minha pergunta.

Usei esse VBA e fiquei com uma dúvida.
Como posso alterar este VBA para que funcione apenas para uma planilha.

No momento, tenho 8 planilhas e toda vez que vou para outra planilha, ela falha e me pede para finalizar ou depurar.
Eu fiz exatamente como mostrado acima.


Este é o meu VBA aqui ..
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim ShF como forma
Dim ShM como forma
'especificar um fatiador
Application.ScreenUpdating = False
Set ShF = ActiveSheet.Shapes("Cliente 1")
Set ShM = ActiveSheet.Shapes("Lembrete 1")
'muda a posição do fatiador
Com Windows(1).VisibleRange.Cells(1, 1)
ShF.Top = .Top + 2
ShF.Esquerda = .Esquerda + 475
ShM.Top = .Top + 180
ShM.Esquerda = .Esquerda + 475
Terminar com
Application.ScreenUpdating = True
End Sub


Por favor me ajude.
Este comentário foi feito pelo moderador no site
Caro João,
Mude para a planilha para a qual deseja que o código VBA funcione apenas, clique com o botão direito do mouse na guia Planilha e selecione Exibir código no menu de contexto.
E, em seguida, copie e cole abaixo do código VBA na janela de código de abertura. Veja abaixo a captura de tela:

Sub Worksheet_SelectionChange particular (destino ByVal como intervalo)
Dim ShF como forma
Dim ShM como forma
'especificar um fatiador
Application.ScreenUpdating = False
Set ShF = ActiveSheet.Shapes("Fruit")
Set ShM = ActiveSheet.Shapes("Venda")
'muda a posição do fatiador
Com Windows(1).VisibleRange.Cells(1, 1)
ShF.Top = .Top
ShF.Esquerda = .Esquerda + 300
ShM.Top = .Top
ShM.Esquerda = .Esquerda + 100
Terminar com
Application.ScreenUpdating = True
End Sub
Este comentário foi feito pelo moderador no site
Caro Cristal,

Muito obrigado pelo código.
Eu fiz exatamente como você disse e funciona como um encanto.

Realmente aprecio isso.
Cheers :)
Este comentário foi feito pelo moderador no site
Oi, eu atualizei meu código como você indicou. O slicer não rola mais junto com a janela, no entanto, se eu clicar em uma nova célula, o slicer se moverá. Esse é o comportamento correto?
Este comentário foi feito pelo moderador no site
O que a primeira linha indica e como a personalizamos para se adequar ao nosso slicer?
Estou muito confuso sobre isso em basicamente todas as linhas.
Este comentário foi feito pelo moderador no site
Querida Katie
Não sei se entendi totalmente sua pergunta.
Como mencionei nas notas acima, você precisa substituir Column1 e Column2 pelos nomes de seus slicers no código para manter seu slicer rolando com a planilha.
Este comentário foi feito pelo moderador no site
Eu tenho 4 slicers que foram agrupados selecionando todos os 4 e clicando com o botão direito do mouse para usar o comando group.

É possível atribuir este VBA por um grupo? Como você rotula o grupo e escreve o VBA para reconhecê-lo como um?
Este comentário foi feito pelo moderador no site
Oi Michael,
Desculpe não pode ajudar com isso. Obrigado por seu comentário.
Este comentário foi feito pelo moderador no site
Ok, então o título diz "Como manter o fatiador de tabela dinâmica em movimento com a planilha scrolling No Excel?", mas este código VBA só faz isso para a célula selecionada atual, como podemos fazer isso para o rolagem da pasta de trabalho e não apenas a célula selecionada?
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