Formulário VBA com Cadastro Excel
Autor

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.

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.

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:
- Novo: Limpa todos os campos do formulário Excel.
- Excluir: Exclui a linha da tabela do Excel
- Salvar: Salva os dados do formulário na tabela, seja como inclusão ou como alteração de dados.
- Imagem: Imagem carregada à partir de um local no computador, bastando clicar no botão imagem e selecionar a mesma.
- Grid: Tabela no formulário à partir da tabela de cadastro de Produtos no 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
Principais recursos
Confira o que este material oferece para você.
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
R$ 89,90
Controle de Estoque
R$ 69,90
Planilha Financeira Empresarial
R$ 79,90
Dashboard Financeiro no Excel
R$ 49,90




