production

Excel Cadastro de Produtos com Imagem

Excel Cadastro de Produtos com Imagem

Neste artigo iremos mostrar detalhes e também disponibilizar para download uma planilha em Excel para Cadastro de produtos com imagem em Excel e VBA.

Excel Cadastro de Produtos com Imagem 2

Base de Dados do Cadastro de Produtos Excel

Neste exemplo você verá como criar um formulário de Excel em VBA que irá retornar as informações de uma lista de produtos e consultar o cadastro retornando a imagem do produto.

No nosso exemplo criamos uma tabela com os seguintes campos:

  1. Código: Código do produto.
  2. Descrição: Descrição do produto.
  3. Preço: Preço do produto.
  4. Estoque: Quantidade de itens em estoque.
  5. Peso: Peso do produto em.
  6. Largura: Largura do produto.
  7. Altura: Altura do produto.
  8. Imagem: Link com a imagem do produto da internet, por exemplo: https://imagens.trocafone.com/images/phones/dt-5d38a6d6-galaxy-s10-branco-front.png

Como Criar um Formulário Excel com Imagem VBA

Para criar um formulário VBA você deve pressionar ALT+F11 ou senão siga este caminho para habilitar guia desenvolvedor.

E no VBE que é o editor de Visual Basic clique no menu Inserir->UserForm.

E na árvore de objetos selecione o formulário Criado.

Nele alteramos a propriedade Name para frmProdutos.

Clique duas vezes sobre o formulário e na Caixa de Ferramentas selecione os itens Rótulo e Caixa de texto e insira no formulário desenhando os mesmos.

Excel Cadastro de Produtos com Imagem 4

Agora inclua as caixas de texto ao lado dos rótulos conforme abaixo.

Excel Cadastro de Produtos com Imagem 3

Nele adicionamos também o item WebBrowser, para isso primeiro verifique em Ferramentas->Referências e marque o item Microsoft Internet Controls.

Excel Cadastro de Produtos com Imagem 6

Em seguida clique nas ferramentas e desenhe como abaixo no quadro preto o webBrowser no formulário.

Excel Cadastro de Produtos com Imagem 5

Agora altere os nomes dos campos Text conforme abaixo:

  • txtCodigo
  • txtDescricao
  • txtEstoque
  • txtEstoque
  • txtPeso
  • txtLargura
  • txtAltura

Temos então desenhado o formulário acima com os itens adicionados, nos campos de textBox nós iremos retornar os dados da planilha ao dar um duplo clique.

Preencher Formulário VBA com os Dados da Planilha

O objetivo é então que ao dar um duplo clique na planilha irá apresentar o formulário com os dados.

Excel Cadastro de Produtos com Imagem 1

Para isso clique duas vezes na planilha que tem o cadastro de produtos em Excel.

Nomeie ela alterando o campo Name para Estoque para dar um nome interno à planilha.

Em seguida selecione em Eventos BeforeDoubleClick, e cole o código VBA abaixo.

Excel Cadastro de Produtos com Imagem 8
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    On Error Resume Next
    Dim lrng As Range
    
    Set lrng = Estoque.Range("B" & Target.Row & ":I" & Target.Row)
    
    frmProdutos.txtCodigo.Text = lrng(1, 1).Value
    frmProdutos.txtDescricao.Text = lrng(1, 2).Value
    frmProdutos.txtPreco.Text = lrng(1, 3).Value
    frmProdutos.txtEstoque.Text = lrng(1, 4).Value
    frmProdutos.txtPeso.Text = lrng(1, 5).Value
    frmProdutos.txtLargura.Text = lrng(1, 6).Value
    frmProdutos.txtAltura.Text = lrng(1, 7).Value
    Cancel = True
    lsIniciarBrowser lrng(1, 8).Value, frmProdutos
    frmProdutos.Show
    
End Sub

Este código acima irá preencher os textbox do formulário conforme o nome de cada um no cadastro de produtos em Excel.

Em seguida clique em Inserir->Módulo e inclua o seguinte código VBA que irá realizar a consulta e preenchimento do webBroswer:

Public Sub lsIniciarBrowser(ByVal lstrImagem As String, ByVal lfrm As Variant)
    
    With lfrm.WebBrowser1
        .Navigate "about:blank"
        .Document.Write ""
    End With
    
    displayImage lstrImagem, lfrm
    
End Sub

Public Sub displayImage(src, ByVal lfrm As Variant)
    
    With lfrm.WebBrowser1
        .Document.Close
        .Document.Write "
" Dim img Set img = .Document.getElementById("img") Dim body Set body = .Document.getElementById("body") If body.ClientHeight / img.ClientHeight < body.ClientWidth / img.ClientWidth Then img.Style.Height = "100%" Else img.Style.Width = "100%" End If End With End Sub

Este código será chamado no momento em que for dado um duplo clique em uma das linhas do cadastro e retornará conforme o efeito abaixo:

cadastro de produtos com imagem no Excel

Download

Realize o download do da planilha de exemplo de Formulário com Imagem Excel e da vídeo-aula acima neste botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.

Baixe a planilha