Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Como fazer uma macro para editar anotações?

Oi pessoal, gostaria de pedir uma ajuda com uma macro.

Terminei todo o módulo de macros aqui na Alura e tentei fazer uma macro para inserir uma imagem em uma anotação. Com essa ação, toda vez que eu pousa-se o cursor sobre a célula com a anotação eu veria uma imagem explicativa (por exemplo).

Sei fazer isso manualmente, mas quando tentei gravar a macro, ela não gravou praticamente nenhum dos passos que fiz.

Os passos que utilizo são mostrados nesse video: https://www.youtube.com/watch?v=JiNa77Ugr10

O que eu queria na macro era posteriormente editá-la para que com um botão ou atalho eu pude-se abrir rapidamente a caixa seletora para escolher a imagem que quero inserir no comentário, porém, a macro resultante ficou assim:

Sub Imagem_comentario() ' ' Imagem_comentario Macro '

' Range("I8").AddComment Range("I8").Comment.Visible = False Range("I8").Comment.Text Text:="" With Selection.Font .Name = "Segoe UI" .FontStyle = "Negrito" .Size = 9 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic .TintAndShade = 0 .ThemeFont = xlThemeFontNone End With End Sub

Alguém consegue me ajudar a fazer o que preciso ou pelo menos me explicar por que não funciona?

Desde já, obrigado!

1 resposta
solução!

A razão pela qual a macro gravada não registrou os passos de inserir uma imagem em uma anotação é que a gravação de macros no Excel captura apenas ações diretas de alteração de células, como formatação e inserção de dados. No entanto, ações como adicionar imagens em comentários não são capturadas pela gravação de macro, pois essas ações exigem métodos VBA específicos que não são diretamente acessíveis via gravação de macro.

Para fazer o que você precisa, você pode criar uma macro manualmente em VBA que insira a imagem em um comentário e a exiba quando o cursor passar sobre a célula. Abaixo está um exemplo de como você pode fazer isso:

Passos: Crie um botão ou atalho para rodar a macro.

Use o código VBA para abrir uma caixa de diálogo para selecionar a imagem e inseri-la no comentário.

Código VBA:

Sub InserirImagemComentario()

    Dim celula As Range
    Dim imagemCaminho As String
    Dim comentario As Comment
    
    ' Selecione a célula onde deseja adicionar o comentário
    Set celula = Application.InputBox("Selecione a célula para adicionar o comentário com imagem:", Type:=8)
    
    ' Abra a caixa de diálogo para selecionar a imagem
    imagemCaminho = Application.GetOpenFilename("Arquivos de Imagem (*.jpg;*.jpeg;*.png), *.jpg;*.jpeg;*.png", , "Escolha uma imagem")
    
    ' Verifique se uma imagem foi selecionada
    If imagemCaminho <> "False" Then
        ' Adiciona o comentário na célula
        Set comentario = celula.AddComment
        
        ' Insira a imagem no comentário
        comentario.Shape.Fill.UserPicture imagemCaminho
        
        ' Configura a visibilidade do comentário como falso, ou seja, ele aparece ao passar o mouse
        comentario.Visible = False
    Else
        MsgBox "Nenhuma imagem selecionada."
    End If

End Sub