Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Deletar imagem na planilha [RESOLVIDO]

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Wagner.cwb
Manda bem
Manda bem
Mensagens: 168
Registrado em: Sáb Set 24, 2016 4:48 pm

Deletar imagem na planilha [RESOLVIDO]

Mensagem por Wagner.cwb »

Boa noite Pessoal!

preciso criar um código que delete a imagem presente na planilha.
Bom, até o momento o código esta assim:

Código: Selecionar todos

Sub Imagem_simepar()

'fonte: https://forum.baboo.com.br/index.php?/topic/688214-macro-para-inserir-imagem/

    Dim Pict
    Dim Imagem As Object
    Dim ImgFileFormat As String
    Dim Celula As String
      
    Celula = "AL32" ' local que ficará a imagem

    ImgFileFormat = "Image Files JPG (*.jpg),*.jpg, Image Files GIF (*.gif),*.gif, Image Files BMP (*.bmp),*.bmp"

    Pict = "http://www.simepar.br//radar/public/mscpr/MSC_PR_N4_1.gif" 	'origem da imagem	
    If Pict = False Then End

    Set Imagem = ActiveSheet.Pictures.Insert(Pict)

    Imagem.Top = Range(Celula).Top
    Imagem.Left = Range(Celula).Left
    Imagem.ShapeRange.LockAspectRatio = msoFalse

    'Imagem.Height = Range(Celula).Height * 12 '12 = Quantidade de linhas...
    'Imagem.Width = Range(Celula).Width * 3 '3 = Quantidade de colunas...

End Sub
Para inserir, eu adaptei o código de outro colega e funcionou, mas agora eu preciso deletar a imagem
cada vez que gero o relatório, pois a cada relatório se cria uma imagem sobreposta...

tentei inserir os códigos antes do comando "Celula = "AL32" ' local que ficará a imagem"
1º.
Range("AL32").Select
'Selection.ClearContents

Entendi pq não funcionou.. é pq a imagem não fica alocada na célula...


ActiveSheet.Shapes.SelectAll
'Selection.Delete

Funciona.. mas eu tenho um gráfico na planilha, então acaba deletando junto...


ActiveSheet.Shapes.Range(Array("Picture 10")).Select
'Selection.Delete

Esse eu tirei ao tentar gravar uma macro e compreender a lógica, parece uma saída, porém
não existe uma sequencia lógica para "Picture XX", ora começa com 1 e depois que gera outro
relatório passa para 10.. 3.. 21...

Penso... há alguma forma de identificar este "Picture XX" específico dentro da plan?
Ou então eu nomeá-lo na criação? Creio que a resposta já esteja dentro do código inicial, mas
sou ignorante no assunto...

Agradeço antecipadamente pela a ajuda. abraço!
Editado pela última vez por Wagner.cwb em Sex Mai 05, 2017 6:34 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Deletar imagem na planilha

Mensagem por srobles »

Wagner,

Experimente a rotina que segue abaixo :

Código: Selecionar todos

Sub removerImagens()
 For a = 1 To ActiveSheet.Pictures.Count
    ActiveSheet.Pictures.Item(a).Delete
 Next
End Sub
Nela, fazemos um Laço For=> Next para contar quantas imagens existem na planilha e removemos de acordo com a quantidade localizada.

Veja se lhe atende.

Abs


Wagner.cwb
Manda bem
Manda bem
Mensagens: 168
Registrado em: Sáb Set 24, 2016 4:48 pm

Re: Deletar imagem na planilha

Mensagem por Wagner.cwb »

Obrigado Saulo, funcionou também!

Na madrugada passada pesquise e adaptei um código que também funcionou.
Vou deixar aqui, de repente ajuda outras pessoas.

Código: Selecionar todos

Sub Apagar_Simepar()
'http://www.planilhando.com.br/forum/viewtopic.php?t=10579&p=55828

On Error Resume Next
Dim img As Shape

For Each img In ActiveSheet.Shapes
    If Not Application.Intersect(img.TopLeftCell, ActiveSheet.Range("AL32:AU60")) Is Nothing Then 'seleciona a área da imagem
        img.Delete
    End If
Next
End Sub
Abraços


Wagner.cwb
Manda bem
Manda bem
Mensagens: 168
Registrado em: Sáb Set 24, 2016 4:48 pm

Re: Deletar imagem na planilha [RESOLVIDO]

Mensagem por Wagner.cwb »

Não tem mais a opção de elogiar/like?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Deletar imagem na planilha [RESOLVIDO]

Mensagem por webmaster »

O plugin the curtir quebrou na nova versão do fórum. Estou atrás de outro, ou teremos que esperar o desenvolvedor atualizar.

:(


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Deletar imagem na planilha [RESOLVIDO]

Mensagem por srobles »

Wagner,

Que bom que funcionou, amigo.

Sua solução é mais refinada, e consequentemente, mais precisa. Gostei muito da solução que encontrou.

Abs


Wagner.cwb
Manda bem
Manda bem
Mensagens: 168
Registrado em: Sáb Set 24, 2016 4:48 pm

Re: Deletar imagem na planilha [RESOLVIDO]

Mensagem por Wagner.cwb »

Saulo, sua dica ajudou muito para o processo inverso - inserir a imagem no formulário.
Eu estava apanhando mais que o Vitor Belfort para conseguir um jeito e lembrei do seu caminho,
vou deixar aqui, caso alguém precise.

Código: Selecionar todos

Private Sub UserForm_Initialize()

For a = 1 To ActiveSheet.Pictures.Count
    ActiveSheet.Pictures.Item(a).Select
    Selection.Copy
        Set Me.Image1.Picture = PastePicture
     Next
   
End Sub
Abs!


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Deletar imagem na planilha [RESOLVIDO]

Mensagem por srobles »

Grande Wagner,

Que bela dica essa amigo! Ainda não necessitei de empregar tal proeza, mas aí está a solução.!

Parabéns pela grande "sacada" e obrigado pelo retorno amigo.

Abs


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder