DiegoVieira46
-
Posts
2 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por DiegoVieira46
-
-
Boa tarde, prezados.
Utilizo uma fórmula VBA para inserir um código em uma linha e ele me trazer uma imagem local armazenada em meu computador. O recurso funciona bem, porém necessito repetir o código em alguns oportunidades, porém a imagem não se mantém na célula. Para facilitar o entendimento, segue cenário que ocorre e cenário que preciso.
Podem me auxiliar, por gentileza?
Necessito que ao inserir um mesmo código em outra linha, a imagem seja exibida corretamente em todas as linhas.
Utilizo o código abaixo:
Public Function getImage(ByVal sCode As String) As String
Dim sFile As String
Dim oSheet As Worksheet
Dim oCell As Range
Dim oImage As ShapeSet oCell = Application.Caller ' Célula onde a função foi chamada
Set oSheet = oCell.Parent ' Planilha que chamou a função' Procura por uma imagem existente identificada pelo código (que precisa ser único!)
Set oImage = Nothing
For i = 1 To oSheet.Shapes.Count
If oSheet.Shapes(i).Name = sCode Then
Set oImage = oSheet.Shapes(i)
Exit For
End If
Next i
' Se ainda não existir uma imagem com o código, carrega do arquivo e cria-a.
' A imagem já é posicionada na exata posição da célula onde a função foi chamada.
If oImage Is Nothing Then
sFile = "c:\temp\sopt\" & sCode & ".jpg"
Set oImage = oSheet.Shapes.AddPicture(sFile, msoCTrue, msoCTrue, oCell.Left, oCell.Top, oCell.Width, oCell.Height)
oImage.Name = sCode' Caso contrário, se a imagem já existir, garante que ela se posiciona e cabe exatamente dentro da célula
' (apenas para o caso do usuário ter movido ou redimensionado manualmente a imagem sem querer)
Else
With oImage
.Left = oCell.Left
.Top = oCell.Top
.Width = oCell.Width
.Height = oCell.Height
End With
End If' Retorna nada para a célula (afinal, esta é somente uma função de auxílio)
getImage = ""
End Function
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Repetir a imagem para linhas abaixo - VBA Macro
em Microsoft Office e similares
Postado
Perfeito meu amigo.
O código atendeu exatamente conforme eu precisava.
Muito obrigado.