Formulário VBA com Cadastro Excel

11 de julho de 2024 Atualizado 08 de julho de 2026 3 min de leitura
Como criar formulario vba com foto e grid

Aprenda como criar um formulário VBA com cadastro Excel passo-a-passo com imagem e grid.

Criar Formulário VBA

No Excel é possível criar formulários utilizando código VBA.

Para isso a primeira parte é habilitar a guia desenvolvedor, pra isso clique neste artigo e veja passo-a-passo como fazer: Habilitar Guia Desenvolvedor.

codigo vba excel de formulario

Tabela de Dados do Formulário

No nosso exemplo usamos uma tabela Excel aonde os dados dos formulários são salvos.

Como podemos ver temos os seguintes campos:

  • Seq.: Código sequencial autoimático.
  • Código: Código interno do produto.
  • Produto: Nome do produto.
  • Categoria: Descrição da categoria.
  • Fabricante: Nome do fabricante.
  • Descrição: Descrição completa do produto.
  • Foto: Caminho completo da imagem do produto.
tabela de dados excel com formulario

Formulário VBA Excel com Cadastro Excel

No nosso exemplo temos o cadastro abaixo com os campos que temos na nossa tabela, imagem do formulário e também a grid, que é uma tabela dentro do formulário e que exibe os dados que estão no Excel.

O formulário tem os botões e funcionalidades:

  1. Novo: Limpa todos os campos do formulário Excel.
  2. Excluir: Exclui a linha da tabela do Excel
  3. Salvar: Salva os dados do formulário na tabela, seja como inclusão ou como alteração de dados.
  4. Imagem: Imagem carregada à partir de um local no computador, bastando clicar no botão imagem e selecionar a mesma.
  5. Grid: Tabela no formulário à partir da tabela de cadastro de Produtos no Excel.
formulario de cadastro vba excel

O formulário é acionado no momento em que clica duas vezes na tabela do Excel, é carregado automaticamente o formulário com os dados da linha selecionada.

Código do Formulário VBA Excel

Para a criação das funcionalidades do formulário utilizamos os seguintes códigos VBA, ele é detalhado também no vídeo passo-a-passo.

Global lLinha       As Long
Global lstrImagem   As String

Public Sub lsCarregarImagem()
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    
    'Configurar o FileDialog para selecionar arquivos com imagem
    With fd
        .Title = "Selecione uma imagem"
        .Filters.Clear
        .Filters.Add "Imagens", "*.jpg, *.jpeg, *.gif, *.bmp"
        .AllowMultiSelect = False
        
        'Exibir o diálogo e carregar a imagem selecionada
        If .Show = -1 Then
            frmProduto.imgFoto.Picture = LoadPicture(.SelectedItems(1))
            lstrImagem = .SelectedItems(1)
        End If
    End With
    
End Sub

Public Sub lsExcluir()
    Produtos.Cells(lLinha, 1).EntireRow.Delete
    lsNovo
    MsgBox "Item Excluído!"
End Sub

Public Sub lsNovo()
    With frmProduto
        .lblSeq.Caption = Produtos.Cells(Produtos.Cells(Produtos.Rows.Count, 2).End(xlUp).Row, 2).Value + 1
        .txtCodigo.Value = ""
        .txtProduto.Value = ""
        .txtCategoria.Value = ""
        .txtFabricante.Value = ""
        .txtDescricao.Value = ""
        .imgFoto.Picture = LoadPicture("")
    End With
    
    lLinha = Produtos.Cells(Produtos.Rows.Count, 2).End(xlUp).Row + 1
End Sub

Public Sub lsSalvar()
    'Limpa a lista de produtos no formulário
    frmProduto.listProdutos.RowSource = ""
    
    With Produtos
        .Cells(lLinha, 3).Value = UCase(frmProduto.txtCodigo.Value)
        .Cells(lLinha, 4).Value = UCase(frmProduto.txtProduto.Value)
        .Cells(lLinha, 5).Value = UCase(frmProduto.txtCategoria.Value)
        .Cells(lLinha, 6).Value = UCase(frmProduto.txtFabricante.Value)
        .Cells(lLinha, 7).Value = UCase(frmProduto.txtDescricao.Value)
        .Cells(lLinha, 8).Value = UCase(lstrImagem)
    End With
    
    frmProduto.listProdutos.RowSource = "tProduto"
    
    MsgBox "Item Salvo!"
End Sub

Public Sub lsCarregar()
    On Error Resume Next
    
    With Produtos
        frmProduto.lblSeq.Caption = .Cells(lLinha, 2).Value
        frmProduto.txtCodigo.Text = .Cells(lLinha, 3).Value
        frmProduto.txtProduto.Text = .Cells(lLinha, 4).Value
        frmProduto.txtCategoria.Text = .Cells(lLinha, 5).Value
        frmProduto.txtFabricante.Text = .Cells(lLinha, 6).Value
        frmProduto.txtDescricao.Text = .Cells(lLinha, 7).Value
        frmProduto.imgFoto.Picture = LoadPicture("")
        frmProduto.imgFoto.Picture = LoadPicture(.Cells(lLinha, 8).Value)
    End With
    
    frmProduto.Show
End Sub

Com isso temos o código completo do VBA que faz o cadastramento, carregamento da grid e também o carregamento das imagens.

Download da Planilha Formulário VBA com Cadastro Excel

Para realizar o download desta planilha de exemplo clique no botão abaixo

Download — baixe aqui: Cadastro Formulário VBA Excel

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