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

Como sempre manter um gráfico à vista ao rolar no Excel?

Se houver um gráfico inserido em uma planilha, enquanto você rola a planilha para baixo para ver os dados, o gráfico não pode ser visto ao mesmo tempo que a imagem mostrada abaixo, que deve ser desagradável. Neste artigo, apresento um código VBA para manter um gráfico sempre visível, mesmo ao rolar a planilha para baixo ou para cima.

doc mantenha o gráfico em vista 1
doc seta para baixo
doc mantenha o gráfico em vista 2

Sempre mantenha um gráfico em vista


seta azul bolha direita Sempre mantenha um gráfico em vista

Para manter um gráfico em exibição enquanto rola a folha, você pode aplicar o código VBA abaixo para resolvê-lo.

1. Clique com o botão direito na guia da planilha que deseja manter o gráfico visível e clique em Ver código formar o menu de contexto. Veja a imagem:
doc mantenha o gráfico em vista 3

2. No popping Microsoft Visual Basic para Aplicações janela, cole o código abaixo no script em branco.

VBA: mantenha o gráfico sempre à vista

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'UpdatebyExtendoffice20161111
    Dim CPos As Double
    Application.ScreenUpdating = False
    CPos = ActiveWindow.ScrollRow * ActiveCell.RowHeight
    ActiveSheet.ChartObjects("Chart 2").Activate
    ActiveSheet.Shapes("Chart 2").Top = CPos
    ActiveWindow.Visible = False
    Application.ScreenUpdating = True
End Sub

doc mantenha o gráfico em vista 5

3. Salve e feche a caixa de diálogo, então o gráfico será movido para baixo ou para cima conforme você clica em qualquer célula.
doc mantenha o gráfico em vista 6

notas:

(1) No código VBA, o Gráfico 2 é o nome do gráfico que você deseja manter em exibição, você pode alterá-lo conforme necessário.

(2) Este VBA nem sempre pode manter um grupo de gráficos em exibição.


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 (14)
Avaliado 4.75 fora do 5 · classificações 2
Este comentário foi feito pelo moderador no site
Isso foi bom, mas eu gostaria que houvesse uma maneira de se mover apenas com a roda de rolagem, como linhas de título. Além disso, se eu quiser selecionar uma célula, são necessários dois cliques. O primeiro clique move o gráfico, mas também seleciona o gráfico, então tenho que clicar novamente para selecionar a célula.
Este comentário foi feito pelo moderador no site
Eu adicionei "activecell.select" na última linha deste código e corrigiu o problema de clique duplo. Ele selecionará automaticamente a última célula ativa, que será aquela em que você clicou para mover o gráfico. Espero que isto ajude.
Este comentário foi feito pelo moderador no site
É ISSO QUE EU PRECISO! DOURADO!
Este comentário foi feito pelo moderador no site
Essa macro fez exatamente o que eu queria. No entanto, criou outro problema para o qual me perguntei se você poderia ter uma solução.

Enquanto essa macro estiver ativa, não posso selecionar células para outros fins, como formatá-las ou mesclá-las. Clique e arraste, shift nem ctrl work para selecionar um grupo de células. Só posso selecionar a célula em que cliquei. Frequentemente, desejo alterar a formatação (plano de fundo, preencher uma fórmula, etc.) A única maneira de fazer isso é excluir a macro, salvar, fazer minhas alterações de formatação, colar a macro de volta e salvar.

Existe uma maneira mais simples de fazer isso? Talvez:

1. (preferencial) Um simples pressionamento de tecla que desabilitaria temporariamente a macro e depois a reabilitaria.

2. Algum código adicionado à macro para permitir a seleção de um grupo de células.

Dennis
Este comentário foi feito pelo moderador no site
Existe uma fórmula semelhante que pode ser criada para o Planilhas Google?
Este comentário foi feito pelo moderador no site
Existe uma maneira de limitar o quão alto na folha o gráfico será realocado? Eu não quero afixar acima da linha 8
Este comentário foi feito pelo moderador no site
Hola muchas gracias pelo código, usando este código ¿Hay alguna manera de limit qué tan alto en la hoja se reubicará el gráfico? por ejemplo, no quiero que se coloque encima de la fila 9. Ayuda por favor.
Avaliado 5 fora do 5
Este comentário foi feito pelo moderador no site
posso usar Kutools para usar automaticamente esse VBA para meus gráficos?
Este comentário foi feito pelo moderador no site
Desculpe, Wangnuli, Kutools não suporta isso até agora.
Este comentário foi feito pelo moderador no site
Alguém pode ajudar. quando eu sigo estes passos


Sub Worksheet_SelectionChange particular (destino ByVal como intervalo)
'Atualizar porExtendoffice20161111
Dim CPos como duplo
Application.ScreenUpdating = False
CPos = ActiveWindow.ScrollRow * ActiveCell.RowHeight
ActiveSheet.ChartObjects("Gráfico 2").Ativar
ActiveSheet.Shapes("Gráfico 2").Top = CPos
ActiveWindow.Visible = Falso
Application.ScreenUpdating = True
End Sub


eu recebo o seguinte erro

Erro de tempo de execução '-2147024809 (80070057)':
O item com o nome especificado não foi encontrado

quando eu depurar
ActiveSheet.ChartObjects("Gráfico 2").Ativar
Este comentário foi feito pelo moderador no site
Olá, Christo, você precisa alterar o nome do gráfico "Gráfico 2" para o nome real do seu gráfico no script. Você pode clicar no gráfico e ver seu nome na caixa de nome. Veja a captura de tela:
https://www.extendoffice.com/images/stories/comments/sun-comment/do_chart_name.png
Este comentário foi feito pelo moderador no site
sim obrigado. depois de fazer a pergunta, percebi que o nome do gráfico estava errado
obrigado

ps.
você talvez saiba como posso fazer com que o gráfico seja mantido em exibição enquanto eu rolo sem clicar onde ele deve seguir
Este comentário foi feito pelo moderador no site
Encontrei um problema ao desmarcar a célula e precisava de dois gráficos, então fiz algumas alterações e parece funcionar agora.
Para usá-lo, coloque o nome do gráfico correto.
*Nota: Este é para dois gráficos


Private Sub worksheet_selectionchange (ByVal target As Range)
Dim chartposition As Double

posição do gráfico = ActiveWindow.ScrollRow * ActiveCell.RowHeight
ActiveSheet.Shapes("Gráfico 2").Top = posição do gráfico

ActiveSheet.ChartObjects("Gráfico 3").Top = posição do gráfico + 250

End Sub
Este comentário foi feito pelo moderador no site
Quando eu passo pela próxima vez que abro o arquivo, o script não funciona. Tengo que copiar, borrar, fechar o arquivo para salvar, voltar para abrir o arquivo e voltar para pegar o script no VBA. Alguma solução?
Avaliado 4.5 fora do 5
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