Compartilhar via

MACRO PARA IDENTIFICAR AUTOMATICAMENTE O NOME OU NÚMERO DE UMA IMAGEM AO SER INSERIDA

Anônima
2012-08-21T17:21:57+00:00

Pessoal, estou destruindo meu cérebro e não consigo achar a solução.

Criei uma macro para inserir uma imagem, até aqui moleza, porém eu quero que o usuário após clicar no botão e ver a imagem, que o usuário clique em outro botão que por sua vez vai identifica o nº ou nome da imagem e deletar, e assim sucessivamente, porque todas as vezes que o usuário clicar no botão para abrir a imagem, essa imagem muda de número, exemplo imagem 1 - imagem 2 - imagem 3 etc.

Para inserir a imagem fiz essa macro

Sub Ajuda2()

Dim MyPath As String

MyPath = ("C:\Férias\Ajuda1.png")

ActiveSheet.Pictures.Insert(MyPath).Select

Selection.ShapeRange.IncrementLeft 50

Selection.ShapeRange.IncrementTop 5

End Sub

Para deletar esse é o problema

Sub delete()

ActiveSheet.DrawingObjects.Select  ???????????????? não posso usar Select.All  (porque tem outras imagens na planilha que não pode ser deletada)

Selection.delete

Range("A1").Select

End Sub

Srs. expert em macro, podem me ajudar please :)

  • Obs: trabalho a 20 anos com excel e ainda estou aprendendo - hehe
Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

Anônima
2012-08-24T04:06:52+00:00

Oi MrExcelSolution,

Acho que basta dar um nome qualquer para imagem criada.

Por exemplo, Imagem99.

As macros ficariam assim

Sub CriaImagem()

Dim MyPath As String

MyPath = ("C:\Férias\Ajuda1.png")

ActiveSheet.Pictures.Insert(MyPath).Select

With Selection

.ShapeRange.IncrementLeft 50

.ShapeRange.IncrementTop 5

.Name = "Imagem99"

End With

End Sub

Sub DeletaImagem()

ActiveSheet.Shapes("Imagem99").Delete

End Sub

Espero que ajude

M.

Esta resposta foi útil?

0 comentários Sem comentários

6 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2012-08-22T14:21:43+00:00

    pois é, fiz isso, mas a questão é como a macro identifica automaticamente uma determinada imagem que é aberta por um botão.

    Porque assim o outro botão deleta esta imagem que foi identificada.

    O segredo está nesta função, mas ainda não consegui descobrir

        ActiveWorkbook.Names.Add Name:="imagem", RefersToR1C1:= _

            "=Parametros!R1C7"

        ActiveWorkbook.Names("imagem").Comment = ""

    End Sub

    O grande "chan" é ler o resultado dentro do "imagem"

    Esta função é correspondente ao menu do Excel -> fórmulas - definir nome

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2012-08-22T14:16:59+00:00

    oooppaaa, valeu

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2012-08-21T21:46:20+00:00

    Uma imagem embebida numa planilha é um objeto do tipo Shape. Para saber o nome de um shape, basta clicar sobre ele que à esquerda da barra de fórmulas seu nome aparecerá. Você pode usar o código abaixo para apagar um Shape se souber seu nome:

    Sub Exemplo()

    ActiveSheet.Shapes("Imagem 1").Delete

    End Sub

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2012-08-21T20:33:33+00:00

    isso ai eh vba. posta sua dúvida aki no link q os caras são especialistas nisso. aki eh mais basicão. vlw!

    http://social.msdn.microsoft.com/Forums/pt-br/vbapt/threads

    Esta resposta foi útil?

    0 comentários Sem comentários