Efeito Trocar Gráfico ao Passar o Mouse no Excel

MR
Marcos Rieper

Especialista em Excel

23 de outubro de 2023 Atualizado 08 de julho de 2026 4 min de leitura
Efeito Trocar Gráfico ao Passar o Mouse Capa

Neste artigo você aprenderá como realizar um efeito no Excel que ao passar o mouse troque os gráficos.

MouseMove Excel VBA Exemplo

O evento MouseMove tem por finalidade efetuar uma ação quando o mouse é movido sobre algum determinado objeto.

No nosso caso o objeto que inserimos no Excel foi um objeto do tipo Rótulo, ou TextBox.

Para isso primeiro clique na guia Desenvolvedor (Como habilitar a guia desenvolvedor)

Trocar o gráfico ao passar o mouse excel 1

Clicando sobre o objeto acima desenhe ele sobre uma parte que deseja que ao passar o mouse ele mude o gráfico.

No nosso exemplo colocamos isso sobre os meses como temos abaixo e sobre as imagens de gráfico de linhas e gráfico de barras.

Trocar o gráfico ao passar o mouse excel 2

Cada um destes objetos irá executar um código VBA diferente.

Clique em Propriedades e mude o nome de cada objeto como por exemplo criamos lblComparacao, lblMesAnterior e lblMesAtual.

Após isso clique sobre o objeto criado clicando duas vezes e coloque o seguinte código abaixo, eles serão executados ao passar o mouse sobre os objetos.

Private Sub lblComparacao_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    lsComparacao
End Sub

Private Sub lblMesAnterior_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    lsMesAnterior
End Sub

Private Sub lblMesAtual_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    lsMesAtual
End Sub

Preparar os Gráficos

No exemplo deste artigo temos a comparação de vendas diárias do mês anterior e novo, comparando os meses e indicando a diferença entre eles.

Trocar o gráfico ao passar o mouse excel 3

O objetivo é mostrar estes dados diários dia-a-dia comparando as informações em gráficos de linha ou barras, comparando ou apenas exibindo um dos meses.

Após isso crie os gráficos para cada uma das situações e sobreponha-os.

Sobre cada gráfico clique e mude o nome deles, clicando na guia Desenvolvedor e no botão Propriedades, nele mude a propriedade Name, conforme o gráfico que desejar.

Mude estes nomes nos códigos que criamos no Código VBA na próxima sessão do artigo.

Código VBA para Mudar o Gráfico

Em seguida clique na guia Desenvolvedor e no botão Visual Basic.

Em seguida clique em Inserir->Módulo e no módulo criado.

Global lstrTipo         As String
Global lstrSelecionado  As String

Sub lsComparacao()
    If lstrTipo = "" Then
        ActiveSheet.Shapes.Range(Array("mesatual")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesanterior")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("comparacao")).Visible = msoTrue
        ActiveSheet.Shapes.Range(Array("mesatual2")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesanterior2")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("comparacao2")).Visible = msoFalse
    Else
        ActiveSheet.Shapes.Range(Array("mesatual")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesanterior")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("comparacao")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesatual2")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesanterior2")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("comparacao2")).Visible = msoTrue
    End If
    
    lstrSelecionado = "Comparacao"
End Sub

Sub lsMesAtual()
    If lstrTipo = "" Then
        ActiveSheet.Shapes.Range(Array("mesatual")).Visible = msoTrue
        ActiveSheet.Shapes.Range(Array("mesanterior")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("comparacao")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesatual2")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesanterior2")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("comparacao2")).Visible = msoFalse
    Else
        ActiveSheet.Shapes.Range(Array("mesatual")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesanterior")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("comparacao")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesatual2")).Visible = msoTrue
        ActiveSheet.Shapes.Range(Array("mesanterior2")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("comparacao2")).Visible = msoFalse
    End If
    
    lstrSelecionado = "Atual"
End Sub

Sub lsMesAnterior()
    If lstrTipo = "" Then
        ActiveSheet.Shapes.Range(Array("mesatual")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesanterior")).Visible = msoTrue
        ActiveSheet.Shapes.Range(Array("comparacao")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesatual2")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesanterior2")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("comparacao2")).Visible = msoFalse
    Else
        ActiveSheet.Shapes.Range(Array("mesatual")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesanterior")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("comparacao")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesatual2")).Visible = msoFalse
        ActiveSheet.Shapes.Range(Array("mesanterior2")).Visible = msoTrue
        ActiveSheet.Shapes.Range(Array("comparacao2")).Visible = msoFalse
    End If
    
    lstrSelecionado = "Anterior"
End Sub

Public Sub lsBarras()
    'Muda o tipo para barras
    lstrTipo = "barras"
    
    'Seleciona o gráfico
    If lstrSelecionado = "Comparacao" Then
        lsComparacao
    Else
        If lstrSelecionado = "Atual" Then
            lsMesAtual
        Else
            lsMesAnterior
        End If
    End If
End Sub

Public Sub lsLinhas()
    'Muda o tipo para barras
    lstrTipo = ""
    
    'Seleciona o gráfico
    If lstrSelecionado = "Comparacao" Then
        lsComparacao
    Else
        If lstrSelecionado = "Atual" Then
            lsMesAtual
        Else
            lsMesAnterior
        End If
    End If
End Sub

Explicando o Efeito Trocar o Gráfico ao Passar o Mouse no Excel

Por fim temos então o seguinte efeito, que faz com que os códigos sejam acionados ao passar o mouse sobre os objetos de Rótulo inseridos.

Cada um deles oculta os gráficos anteriores deixando exibido apenas o gráfico relativo aquele rótulo.

Esse código pode também ser adaptados para outras situações que queira que ocorra algo ao passar o mouse, como por exemplo criar caixas de explicação ou mostrar imagens.

Download Planilha Efeito Trocar Gráfico ao Passar o Mouse no Excel

Clique no botão abaixo para realizar o  download do Excel de exemplo:

Download — baixe aqui: Efeito Trocar Gráfico ao Passar o Mouse no Excel

Preencha seus dados para receber o link de download no seu e-mail.

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado