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

Imagem em célula

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
HUGO SOUZA
Colaborador
Colaborador
Mensagens: 59
Registrado em: Sáb Mar 15, 2014 5:48 pm

Imagem em célula

Mensagem por HUGO SOUZA »

Olá!
O código abaixo insere na minha planilha uma imagem de um arquivo meu:

Picture = ("H:\HUGO\LOGOS PARA CABEÇALHOS" & "\Logotipo1.png")
ActiveSheet.Pictures.Insert (Picture)

Como faço pra determinar que a imagem deva ser inserida na célula B9 (como se eu copiasse e colasse)?

E se eu precisasse excluí-la depois para substituição?


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.


messiasmbm
Colaborador
Colaborador
Mensagens: 72
Registrado em: Ter Fev 10, 2015 8:53 pm

Re: Imagem em célula

Mensagem por messiasmbm »

Tem como ... vc deve pesquisar por posição x e y e renomear ao criar a imagem e esta imagem vai receber a mesma imagem de seu endereço e no caso do renome fica mais fácil para deletar.
Assim fica mais fácil.
viewtopic.php?f=23&t=3918fiz algo parecido
Editado pela última vez por messiasmbm em Qua Set 02, 2015 2:55 pm, em um total de 1 vez.


messiasmbm
Colaborador
Colaborador
Mensagens: 72
Registrado em: Ter Fev 10, 2015 8:53 pm

Re: Imagem em célula

Mensagem por messiasmbm »

Código: Selecionar todos

Sub InsertionImage()
    Dim Emplacement As Range
    Dim Img As Object
    Dim ShapeObj As Shape
 
    'Boucle pour supprimer l'ancienne image
    For Each ShapeObj In ActiveSheet.Shapes
        If ShapeObj.Name = "Cible" Then ActiveSheet.Shapes("Cible").Delete
    Next ShapeObj
 
    If Application.Dialogs(xlDialogInsertPicture).Show Then
        'Définit l'emplacement de l'image
        Set Emplacement = Range("D3:E8")
 
        Set Img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count)
 
        With Img.ShapeRange
            'Nommer l'image insérée (Pour la supprimer plus facilement ensuite)
            .Name = "Cible"
            .LockAspectRatio = msoFalse
            .Left = Emplacement.Left
            .Top = Emplacement.Top
            .Height = Emplacement.Height
            .Width = Emplacement.Width
        End With
 
    Else
        MsgBox "Insertion d'image interrompue."
    End If
 
End Sub


messiasmbm
Colaborador
Colaborador
Mensagens: 72
Registrado em: Ter Fev 10, 2015 8:53 pm

Re: Imagem em célula

Mensagem por messiasmbm »

Código: Selecionar todos

Sub ImagePlageCellules()
    'La plage de cellules A1:B5 est copiée dans le Presse-papiers en tant qu'image.
    Worksheets("Feuil1").Range("A1:B5").CopyPicture
    'L'image est collée dans la feuille active
    Worksheets("Feuil1").Paste
    ' renomme l'image
    Selection.Name = "Image A1:B5"
End Sub


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.


messiasmbm
Colaborador
Colaborador
Mensagens: 72
Registrado em: Ter Fev 10, 2015 8:53 pm

Re: Imagem em célula

Mensagem por messiasmbm »

Código: Selecionar todos

Sub Macro1()
    Dim Photo As Variant
    Dim Gauche, Sommet, Largeur, Hauteur As Single
 
    Photo = Application.GetOpenFilename("Images JPEG (*.jpg), *.jpg")
    Gauche = Range("C2").Left
    Sommet = Range("C2").Top
    Largeur = Range("C2").Width
    Hauteur = Range("C2").Height
 
    If Photo <> False Then
        Sheets("Plan1").Shapes.AddPicture Photo, True, True, Gauche, Sommet, Largeur, Hauteur
    End If
End Sub


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