Inserir Imagens no Excel com VBA - Procv com Imagens

MR
Marcos Rieper

Especialista em Excel

30 de maio de 2022 Atualizado 08 de julho de 2026 4 min de leitura
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:

Download — baixe aqui: Inserir Imagens VBA

Preencha seus dados para receber o link de download no seu e-mail.

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado