Guia do Excel

Formulário VBA com Cadastro Excel

Aprenda como criar um formulário VBA com cadastro Excel passo-a-passo com imagem e grid. Vídeo-aula e download gratuito da planilha.

MR
Marcos Rieper

Especialista em Excel

Atualizado em 08 de julho de 2026 Publicado em 11 de julho de 2024 3 min de leitura

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

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

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
Cadastro Formulário VBA Excel416 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