IMAGEM EM CELULA VBA
Olá pessoal, qual o código que uso para abrir uma imagem em uma determinada célula ?
Tenho as imagens em uma pasta, já sei puxar via código para a planilha, porém, não consigo fazer o insert em uma dada célula.
No meu código, vou carregar uma planilha com os dados de um produto e a foto, tudo na mesma linha mas em células diferentes e depois mudo de linha e carrego outro produto, isso já funciona, uso banco access, mas não sei como coloco a foto em uma determinada célula.
Obrigado pela ajuda.
Tenho as imagens em uma pasta, já sei puxar via código para a planilha, porém, não consigo fazer o insert em uma dada célula.
No meu código, vou carregar uma planilha com os dados de um produto e a foto, tudo na mesma linha mas em células diferentes e depois mudo de linha e carrego outro produto, isso já funciona, uso banco access, mas não sei como coloco a foto em uma determinada célula.
Obrigado pela ajuda.
Cara nunca vi uma imagem dentro de uma célula mais creio que deve existir! só desconheço no momento
não sei como você esta inserindo as imagens na sua planilha essa Macro abaixo Inseri uma imagem na célula que você quiser no entanto é um objeto imagem
verifica se isso serve ai é só adaptar
não sei como você esta inserindo as imagens na sua planilha essa Macro abaixo Inseri uma imagem na célula que você quiser no entanto é um objeto imagem
verifica se isso serve ai é só adaptar
Sub Insere_Imagem()
Dim Pict
Dim Imagem As Object
Dim ImgFileFormat As String
Dim Celula As String
Celula = [Ô]A7[Ô] [ô]Aqui é a celula que você quer inserir é só adaptar conforme for pulando linha
ImgFileFormat = [Ô]Image Files JPG (*.jpg),*.jpg, Image Files GIF (*.gif),*.gif, Image Files BMP (*.bmp),*.bmp[Ô]
Pict = Application.GetOpenFilename(ImgFileFormat)
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 * 1 [ô]1 = Quantidade de linhas...
Imagem.Width = Range(Celula).Width * 1 [ô]1 = Quantidade de colunas...
End Sub
Obrigado por sua resposta, vou explicar melhor, tenho em uma pasta várias fotos de vários produtos e quero resgatar a foto do produto correspondente quando digitar o código deste produto, na verdade eu já consegui resolver com o código abaixo, porém, não estou conseguindo criar um If se a foto não existir, você poderia me ajudar com base no meu código abaixo ?
foto = Range([Ô]H2[Ô])
Set r = Cells(7, 6)
MyPath = ([Ô]F:\Empresa\FOTOS\[Ô] & foto & [Ô].jpg[Ô])
ActiveSheet.Unprotect [Ô][Ô]
With ActiveSheet.Pictures.Insert(MyPath).ShapeRange
[ô]If ActiveSheet.Pictures.Insert(MyPath).ShapeRange Then
.LockAspectRatio = True
.Top = r.Top
.Left = r.Left
.Height = r.RowHeight * r.MergeArea.Rows.Count
[ô].Height = r.RowHeight [ô] r.MergeArea.Rows
[ô]flag = True
End With
foto = Range([Ô]H2[Ô])
Set r = Cells(7, 6)
MyPath = ([Ô]F:\Empresa\FOTOS\[Ô] & foto & [Ô].jpg[Ô])
ActiveSheet.Unprotect [Ô][Ô]
With ActiveSheet.Pictures.Insert(MyPath).ShapeRange
[ô]If ActiveSheet.Pictures.Insert(MyPath).ShapeRange Then
.LockAspectRatio = True
.Top = r.Top
.Left = r.Left
.Height = r.RowHeight * r.MergeArea.Rows.Count
[ô].Height = r.RowHeight [ô] r.MergeArea.Rows
[ô]flag = True
End With
Tópico encerrado , respostas não são mais permitidas