• 0
Sign in to follow this  
Zecapoa

[AJUDA] Mouse over no excel

Question

A situação é a seguinte: Tenho a planilha "ESTADOS DO BRASIL" e a planilha "POPULAÇÃO". Eu preciso que apareça o valor dos habitantes que está na planilha POPULAçÃO, quando eu passar o mouse sobre a célula do estado que está na planilha ESTADOS DO BRASIL. EX. Eu tenho uma célula contendo "RS" na planilha ESTADOS BRASIL e uma célula contendo "10.246.736" na planilha POPULAÇÃO. QUando eu passar o mouse SOBRE RS, deve aparecer o valor 10.246.736, como se fosse um comentário. Alguém sabe como fazer???

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0
Crie um comentário para as células dos estados com sua respectiva população, esse é o caminho certo.

Amigo benzadeus,

Agradeço por você ter se importado com meu problema, porém essa solução eu já teria feito se fosse uma caso simples. Ocorre que usei um mero exemplo das populações. Na verdade a segunda planilha vai oscilar de valores todo mês e são mãis de 1000 células.

Será que alguém consegue me ajudar? Deixei pergunta semelhante em vários foruns pelo mundo a fora e ninguém conseguiu responder.

Desde já... GRATO !!!

Share this post


Link to post
Share on other sites
  • 0

Veja um exemplo pronto em: https://skydrive.live.com/redir?resid=FB206...10E0661!403

O código usado foi:

Sub Exemplo()
    Dim l As Long
    Dim lPopulação As Long
    Dim wsEstados As Worksheet
    Dim wsPopulação As Worksheet
    Dim rng As Range
    
    Set wsEstados = ThisWorkbook.Sheets("Estados")
    Set wsPopulação = ThisWorkbook.Sheets("População")
    
    'Considerando uma linha de cabeçalho:
    For l = 2 To RowLast(wsEstados.Columns("A"))
        Set rng = wsEstados.Cells(l, "A")
        If Not rng.Comment Is Nothing Then rng.Comment.Delete
        
        lPopulação = EleOf(rng, wsPopulação.Columns("A"))
        If lPopulação > 0 Then
            rng.AddComment Text:="População: " & Format(wsPopulação.Cells(lPopulação, "B"), "0,00#")
        Else
            rng.AddComment "Não foi localizada uma correspondência!"
        End If
    Next l
End Sub

Sub ApagarComentários()
    'Apenas se desejar apagar todos os comentários de uma Planilha
    Dim cmt As Comment
    For Each cmt In ActiveSheet.Comments
        cmt.Delete
    Next cmt
End Sub

Function RowLast(rng As Range) As Long
    'Retorna o valor da última linha povoada do intervalo rng
    With rng
        On Error Resume Next
        RowLast = .Find(What:="*" _
          , After:=.Cells(1) _
          , SearchDirection:=xlPrevious _
          , SearchOrder:=xlByColumns _
          , LookIn:=xlFormulas).Row
        If RowLast = 0 Then RowLast = rng.Cells(1).Row
    End With
End Function

Function EleOf(ByVal vTermo As Variant, ByVal vVetor As Variant) As Long
    'Retorna o número da linha ou coluna de uma célula numa linha ou coluna.
    'Se vVetor for uma Variant(), retorna o índice do elemento no vetor.
    'Caso não seja encontrada nenhuma ocorrência, é retornado 0.
    On Error Resume Next
    Select Case TypeName(vVetor)
        Case "Range"
            If vVetor.Columns.Count = 1 Then
                'vVetor é uma coluna
                EleOf = WorksheetFunction.Match(vTermo, vVetor, 0) + vVetor.Row - 1
            ElseIf vVetor.Rows.Count = 1 Then
                'vVetor é uma linha
                EleOf = WorksheetFunction.Match(vTermo, vVetor, 0) + vVetor.Column - 1
            End If
        Case "Variant()"
            EleOf = WorksheetFunction.Match(vTermo, vVetor, 0)
    End Select
End Function

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this