Mais de 1000 ALUNOS

Formação Completa em Excel!

Inserir Imagens no Excel com VBA – Procv com Imagens

Inserir Imagens no Excel com VBA capa

Veja como inserir imagens no Excel com VBA ou realizar Procv com Imagens no Excel.

No artigo iremos mostrar três soluções:

  1. Solução 1: Ao digitar um nome retornar uma imagem à partir de uma pasta.
  2. Solução 2: Em uma lista retornar várias imagens em uma lista à partir da seleção de um registro, retornando de uma pasta.
  3. Solução 3: Consultar imagens da web e carregar em uma planilha à partir da seleção de um registro.

Como Carregar Imagem com VBA de Uma Pasta

Nesta solução iremos carregar uma imagem à partir de um nome selecionado em uma lista ou digitado.

Na nossa solução, a primeira necessidade que temos é definir a pasta aonde iremos buscar as imagens.

Nela temos imagens como ana.jpg, ou seja, o nome que digitaremos e .jpg.

Então iremos carregar ela usando VBA para o Excel dinamicamente.

inserir imagens vba excel 1

Para isso pressione ALT+F11 ou clique na guia Desenvolvedor e clique em Visual Basic Editor.

Nele clique em Inserir->Módulo e no módulo criado cole o seguinte código:

Public Sub lsCarregar()
    On Error Resume Next
    
    Dim Pict
    Dim Celula As String
    
    Celula = "C9"
    
    InserirImagens.Shapes("Imagem1").Delete
    
    Pict = PastaLocal.Range("local").Value & "\" & InserirImagens.Range("vendedor").Value & ".jpg"
    
    'Application.ActiveSheet.Shapes.AddPicture Pict, False, True,
    InserirImagens.Shapes.AddPicture Pict, False, True, Range(Celula).Left + 3, Range(Celula).Top + 3, 150, 150
    
    InserirImagens.Shapes(InserirImagens.Shapes.Count - 1).Name = "Imagem1"
    
    InserirImagens.Range("c8").Select
    
End Sub
inserir imagens vba excel 2

Em seguida nós incluímos na planilha o código para que ao alterar o texto consultar o código à partir desta pasta.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$8" Then
        lsCarregar
    End If
End Sub

Carregar Várias Imagens no Excel com VBA

Nesta solução nós temos a inclusão de várias imagens no Excel à partir de linhas com o nome digitado ou selecionado.

Na solução abaixo temos algo parecido com o anterior, mas com a diferença de carregar imagens linha a linha e redimensionar as imagens para inserir na célula da linha automaticamente.

inserir imagens vba excel 3

Abaixo o código fonte utilizado, clique em inserir->módulo e no módulo inserido coloque este código:

Public Sub lsCarregarTime(ByVal vCelula As Range)
    On Error Resume Next
    
    Dim Pict
    Dim Celula As String
    
    Celula = "D" & vCelula.Row
    
    ActiveSheet.Shapes("Imagem" & vCelula.Row).Delete
    
    'Verifica se o arquivo existe
    If Dir(PastaLocal.Range("local").Value & "\" & vCelula.Value & ".jpg") <> vbNullString Then
        Pict = PastaLocal.Range("local").Value & "\" & vCelula.Value & ".jpg"
        time.Shapes.AddPicture Pict, False, True, Range(Celula).Left + 3, Range(Celula).Top + 3, 50, 50
        
        time.Shapes(time.Shapes.Count - 1).Name = "imagem" & vCelula.Row
        
        vCelula.Offset(1).Select
    End If
    
End Sub

E na planilha aonde iremos realizar a inclusão dos dados clique duas vezes sobre a planilha e cole o código abaixo.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 3 Then
        lsCarregarTime Target
    End If
End Sub

Inserir Várias Imagens da Web no Excel com VBA

Agora veremos um código para inserir imagens da Web no Excel com VBA.

Então a primeira tarefa é selecionarmos uma imagem e clicarmos com o botão direito e selecionar o arquivo e pegar a extensão toda.

No link abaixo nós temos o endereço da imagem, copie e inclua na planilha.

inserir imagens vba excel 4

Então com isso nós temos a tabela pronta com os dados abaixo da imagem e outras informações referentes a elas.

inserir imagens vba excel 5

Após isso inserimos uma lista com os nomes e ao selecionar ou digitar a informação é retornada na célula daquela linha.

inserir imagens vba excel 6

No VBA pressione ALT+F11 e clique em Inserir->Módulo e insira o código conforme solicitado.

Public Sub lsCarregarOrcamentoWeb(ByVal vCelula As Range)
    On Error Resume Next
    
    Dim Pict
    Dim Celula As String
    
    Celula = "G" & vCelula.Row
    
    orcamentoweb.Shapes("imagem" & vCelula.Row).Delete
    
    If Range(Celula).Value <> "" Then
        Pict = Range(Celula).Value
        orcamentoweb.Shapes.AddPicture Pict, False, True, Range(Celula).Left + 3, Range(Celula).Top + 3, 50, 50
        
        orcamentoweb.Shapes(orcamentoweb.Shapes.Count - 1).Name = "imagem" & vCelula.Row
        
        vCelula.Offset(1).Select
    End If
    
End Sub

Após isso clique na planilha aonde iremos retornar as imagens na tabela.

Clique então duas vezes sobre ela e cole o seguinte código.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 3 Then
        lsCarregarOrcamentoWeb Target
    End If
End Sub

Download Planilha Exemplo Inserir Imagens VBA Excel

Clique no botão abaixo para realizar o  download da planilha de inserir imagens no Excel com VBA, com exemplo de dados:

Baixe a planilha

5/5 - (Total de avaliações: 1)

Conheça nosso

Curso de Excel completo

plugins premium WordPress