ToolTip Excel – Exibir Imagens ao Passar o Mouse

Veja como criar um ToolTip no Excel para exibir imagens ou textos ao passar o mouse sobre determinadas regiões de uma planilha.

O ToolTip é um procedimento existente no Excel há algum tempo, mas ele não existe por padrão no Excel.

No nosso exemplo você irá aprender como criar um procedimento no Excel que ao passar o mouse exiba uma imagem ou um texto conforme uma determinada área da planilha.

Preparar Imagem que será exibida

No nosso exemplo iremos exibir os dados de uma tabela da planilha de cálculos.

Para isso selecione o intervalo que deseja exibir no dashboard e cole especial como imagem.

Nesta imagem colada selecione e na barra de fórmulas digite = e selecione o intervalo da tabela.

Pode colar esta imagem no dashboard que será exibida ao passar o mouse sobre Dashboard Fluxo de Caixa.

Preparar Textos que Serão Exibidos

Separe em uma planilha, como cálculos ou configurações uma tabela aonde irá colar os textos que serão exibidos.

No nosso exemplo criamos uma coluna com a descrição do local aonde irá passar o mouse para exibir o texto e uma coluna ao lado aonde irá colocar o texto.

Clique então no dashboard e clique em Inserir -> Caixa de Texto e desenhe no local aonde quiser exibir os textos.

Estes textos serão então exibidos ao passar o mouse no Excel.

Criar Áreas para ao Passar o Mouse

O primeiro passo é depois de termos a planilha pronta criarmos as áreas que ao passar o mouse exibirão uma imagem ou texto. No nosso exemplo usamos um dashboard de Fluxo de Caixa.

A primeira parte é habilitar a guia Desenvolvedor caso a guia não esteja disponível no seu Excel.

Caso não esteja habilitada pode ver como habilitar neste link: https://www.guiadoexcel.com.br/habilitar-guia-desenvolvedor-no-excel-e-copiar-procedimentos-vba/

Em seguida, na guia Desenvolvedor clique na guia Desenvolvedor e em Inserir e selecione em Controle de ActiveX Rótulo e desenhe na área em que deseja que ao passar o mouse seja realizada alguma ação.

Este objeto de rótulo de texto possui um evento de Mouse_Move que faz com que ao mover o mouse sobre este objeto seja efetuada uma ação.

Selecione então o item desenhado e clique no botão Propriedades.

Na opção de Propriedades altere o BackStile para 0 – fmBackStyleTransparent e no Caption deixe em Branco para que ela fique transparente e sem texto.

Incluir código para exibir texto ou imagens

Clique no VBE ou ALT+F11 e clique em Inserir->Módulo.

Clique duas vezes sobre o Módulo1 e na parte do módulo coloque o código VBA para realizar as ações, como no nosso exemplo exibir imagens e textos.

<pre lang="vb">
Public Sub lsSaldoInicial()
    ActiveSheet.Shapes("TextBox 22").Visible = True
    ActiveSheet.Shapes("Picture 55").Visible = False
    ActiveSheet.Shapes("TextBox 22").TextFrame2.TextRange.Characters.Text = Configuracoes.Range("F10").Value
    ActiveSheet.Shapes("TextBox 22").Fill.ForeColor.RGB = RGB(142, 142, 142)
End Sub

Public Sub lsEntrada()
    ActiveSheet.Shapes("TextBox 22").Visible = True
    ActiveSheet.Shapes("Picture 55").Visible = False
    ActiveSheet.Shapes("TextBox 22").TextFrame2.TextRange.Characters.Text = Configuracoes.Range("F11").Value
    ActiveSheet.Shapes("TextBox 22").Fill.ForeColor.RGB = RGB(89, 161, 79)
End Sub

Public Sub lsSaida()
    ActiveSheet.Shapes("TextBox 22").Visible = True
    ActiveSheet.Shapes("Picture 55").Visible = False
    ActiveSheet.Shapes("TextBox 22").TextFrame2.TextRange.Characters.Text = Configuracoes.Range("F12").Value
    ActiveSheet.Shapes("TextBox 22").Fill.ForeColor.RGB = RGB(225, 87, 89)
End Sub

Public Sub lsPerda()
    ActiveSheet.Shapes("TextBox 22").Visible = True
    ActiveSheet.Shapes("Picture 55").Visible = False
    ActiveSheet.Shapes("TextBox 22").TextFrame2.TextRange.Characters.Text = Configuracoes.Range("F13").Value
    ActiveSheet.Shapes("TextBox 22").Fill.ForeColor.RGB = RGB(86, 86, 86)
End Sub

Public Sub lsSaldoAtual()
    ActiveSheet.Shapes("TextBox 22").Visible = True
    ActiveSheet.Shapes("Picture 55").Visible = False
    ActiveSheet.Shapes("TextBox 22").TextFrame2.TextRange.Characters.Text = Configuracoes.Range("F14").Value
    ActiveSheet.Shapes("TextBox 22").Fill.ForeColor.RGB = RGB(173, 162, 15)
End Sub

Public Sub lsLimpar()
    ActiveSheet.Shapes("TextBox 22").Visible = False
    ActiveSheet.Shapes("Picture 55").Visible = False
    ActiveSheet.Shapes("TextBox 22").TextFrame2.TextRange.Characters.Text = ""
    ActiveSheet.Shapes("TextBox 22").Fill.ForeColor.RGB = RGB(86, 86, 86)
End Sub

Public Sub lsTabela()
    lsLimpar
    ActiveSheet.Shapes("Picture 55").Visible = True
End Sub
</pre>

Estes códigos que foram inclusos irão alterar então os dados do texto e da imagem.

E serão chamados conforme cada área da planilha em que foi desenhada na próxima sessão.

Você pode colocar seus próprios códigos e ações que serão realizadas e no vídeo deste artigo tem o detalhamento de todo este artigo bem passo-a-passo, recomendo assistir e também fazer o download do arquivo exemplo ao final do artigo.

Programando o ao passar o mouse Excel

Para programar o evento ao passar o mouse do ToolTip dê um duplo clique sobre o Rótulo que desenhou, também chamado de Label.

Ao dar o duplo clique selecione nos eventos MouseMove e neste evento colocamos o código que será executado ao mover o mouse sobre o objeto.

Então colocamos as chamadas para os procedimentos que criamos no módulo e que serão executados ao passar o mouse.

<pre lang="vb">
Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    lsSaldoInicial
End Sub

Private Sub Label2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    lsEntrada
End Sub

Private Sub Label3_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    lsSaida
End Sub

Private Sub Label4_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    lsPerda
End Sub

Private Sub Label5_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    lsSaldoAtual
End Sub

Private Sub Label6_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    lsLimpar
End Sub

Private Sub Label7_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    lsTabela
End Sub
</pre>

Cada um dos códigos acima se refere à uma região, um label que foi desenhado na tela.

E ao passar o mouse será acionado conforme a região que foi selecionada.

Download Planilha ToolTip Excel

Realize o download da planilha de exemplo neste botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.

Baixe a planilha