Guia do Excel

Inserir Imagens no Excel com VBA - Procv com Imagens

Veja como inserir imagens no Excel com VBA à partir de pastas e importar imagens da web para o Excel dinamicamente.

MR
Marcos Rieper

Especialista em Excel

Atualizado em 08 de julho de 2026 Publicado em 30 de maio de 2022 4 min de leitura

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.
Material gratuito

Planilha de Controle Financeiro no Excel

Tenha um controle bonito e completo do seu financeiro.

  • Categorias e subcategorias já configuradas
  • Planilhas separadas por tabela (configuração, lançamentos, resumo)
  • Personalize com suas próprias categorias e ícones

Baixe grátis — receba o link no seu e-mail

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:

Download — baixe aqui: Inserir Imagens VBA
Inserir Imagens VBA444 KB · Excel 2010 ou superior · com macrosPreencha seus dados para receber o link de download no seu e-mail.

Este conteúdo foi útil?

Continue lendo