Neste artigo você aprenderá como fazer um cadastro com imagens no Excel usando VBA e formulário.
Cadastro com Imagens no Excel com VBA
imagine que você tenha uma situação aonde você precisa colocar a imagem a qual a linha se refere.
Por exemplo, um cadastro de produtos, de veículos, de funcionários ou de clientes.
Podemos colocar um cadastro mais completo usando VBA.
No nosso exemplo temos os produtos abaixo, é um cadastro de calçados.
Desejamos que ao dar um duplo clique em determinada coluna possamos escolher o produto e dando duplo clique em outra coluna exibimos a imagem daquela linha.
Veja abaixo que temos um cadastro Excel, é este que criamos nesta solução.
Na coluna Imagem, temos o caminho da imagem, que formatamos para ser exibido apenas a palavra Imagem, mas tem o caminho completo, por exemplo c:\imagens\nike.jpg.
Ao dar duplo clique temos então a exibição da imagem. e se der duplo clique na linha da coluna imagem, aparece o navegador para seleção de uma nova foto.
Criando o Formulário da Imagem
A primeira parte é habilitar a guia desenvolvedor, faça assim: https://www.guiadoexcel.com.br/como-habilitar-a-guia-desenvolvedor-no-excel/
Abra o VBE, que é o ambiente do VBA, pressionando ALT+F11 ou então na guia Desenvolvedor e no botão VBA.
- Clique em Inserir->Formulário
- Selecione o objeto de imagem como na foto e adicione no formulário
- Adicione também um rótulo/label logo acima
Temos então:
A imagem irá ficar vazia, mas com o código VBA ela irá pegar o caminho da linha que está na coluna Imagem e irá exibir no formulário.
Clique duas vezes sobre o formulário e coloque este código VBA:
Private Sub UserForm_Activate()
lsExibirImagem
End Sub
Este código irá chamar o procedimento lsExibirImagem, que carrega a imagem conforme a linha.
Clique em Inserir->Módulo e no módulo inserido coloque o seguinte código VBA:
Public Sub SelecionarImagem()
Dim caminhoArquivo As Variant
'Abrir a caixa de diálogo para seleção do arquivo
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Selecione uma imagem"
.Filters.Clear
.Filters.Add "Arquivos de imagem", "*.jpg, *.png, *.bmp"
If .Show = -1 Then 'Selecionou um arquivo
caminhoArquivo = .SelectedItems(1)
'Insere o caminho do arquivo na célula ativa
Produtos.Range("L" & ActiveCell.Row).Value = caminhoArquivo
End If
End With
End Sub
Public Sub lsExibirImagem()
frmImagem.Image1.Picture = LoadPicture(Produtos.Cells(ActiveCell.Row, 12).Value)
frmImagem.lblProduto.Caption = Produtos.Cells(ActiveCell.Row, 7).Value
End Sub
Com isso temos então o carregamento dos dados conforme os dados presentes na linha L, veja que temos o comentário do que faz cada uma das linhas acima.
Agora clique em Produtos ou no nome da planilha aonde irá chamar o formulário e coloque o seguinte código:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error GoTo TratarErro
If Target.Column = 12 Then
SelecionarImagem
Else
frmImagem.Show
End If
Cancel = True
TratarErro:
Exit Sub
End Sub
Temos no código acima a identificação se a coluna é a 12, se for a 12 ele chama a seleção de imagem para trocar e se for outra coluna ele irá exibir a imagem chamando o formulário.
Efeito Visual do Cadastro com Imagem no Excel
O efeito que temos então é o de mudar a imagem dinamicamente ao clicar duas vezes e também de trocar a imagem ou carregar uma imagem pra linha clicando duas vezes na coluna de Imagem.
E com isso temo sum cadastro com imagens carregadas à partir das suas imagens, sem a necessidade de ter imagens online ou de usar o Excel 365 e a função Imagem.
Download Planilha Cadastro com Imagens Excel VBA
Realize o download da planilha de Curva ABC e Diagrama de Pareto Excel neste botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.