Formulários de Múltiplas Etapas no Excel com VBA: Um Guia Completo
Otimize a experiência do usuário e organize a entrada de dados em suas planilhas do Excel criando formulários de múltiplas etapas com um design moderno e intuitivo.
Conheça meu curso avançado de VBA.

Este tutorial completo, inspirado no vídeo de Edivam Cabral, guiará você passo a passo na criação de um formulário visualmente atraente e funcional, utilizando o poder do VBA em conjunto com o PowerPoint para o design.
O Conceito: Design no PowerPoint, Funcionalidade no Excel
A ideia central é contornar as limitações visuais dos UserForms padrão do VBA. Para isso, vamos desenhar toda a interface do nosso formulário no PowerPoint, que oferece mais flexibilidade e recursos de design, e depois importar essa interface como imagem para dentro do nosso formulário no Excel. A partir daí, com o VBA, adicionaremos a interatividade e a lógica de navegação.
Passo 1: Criando o Design no PowerPoint
Comece abrindo o Microsoft PowerPoint e criando uma apresentação em branco. O primeiro passo é desenhar a barra de progresso que indicará as etapas do formulário.
- Círculos de Etapa: Utilizando a ferramenta “Formas”, insira elipses (mantenha a tecla
Shift
pressionada para criar círculos perfeitos). Crie quantos círculos forem necessários para representar as etapas do seu formulário (por exemplo, Informações do Produto, Fornecedor, Preço e Estoque, Informações Bancárias). - Ícones: Para um toque profissional, vá em “Inserir” > “Ícones” e pesquise por imagens que representem cada etapa. Posicione um ícone sobre cada círculo.
- Linhas de Conexão: Use a forma de linha para conectar os círculos, criando uma linha do tempo visual do progresso.
- Agrupamento: Agrupe cada ícone com seu respectivo círculo para facilitar o manuseio. Selecione os dois objetos, clique com o botão direito e escolha “Agrupar”.
- Design da Página Ativa: Para a primeira etapa, crie um slide. Destaque o primeiro ícone e círculo, por exemplo, preenchendo o círculo com uma cor mais escura e o ícone com branco. Adicione um título e um subtítulo descritivo para a etapa.
Repita o processo de criação de slides para cada uma das etapas do seu formulário. Em cada novo slide, lembre-se de “desativar” o estilo da etapa anterior (retornando às cores padrão) e “ativar” o da etapa atual.
Passo 2: Construindo o Formulário no Excel com VBA
Com o design pronto no PowerPoint, é hora de ir para o Excel.
- Habilitar a Guia Desenvolvedor: Se ainda não estiver visível, vá em
Arquivo > Opções > Personalizar Faixa de Opções
e marque a caixa “Desenvolvedor”. - Abrir o Editor do VBA: Pressione
Alt + F11
. - Inserir um UserForm: No editor, vá em
Inserir > UserForm
. - Adicionar um Controle MultiPage: Na “Caixa de Ferramentas”, selecione o controle
MultiPage
e desenhe-o no seuUserForm
. Este controle é a chave para a funcionalidade de múltiplas etapas, onde cada “Page” será uma etapa do formulário. - Importar o Design: Volte ao PowerPoint, selecione todos os elementos do slide da sua primeira etapa (
Ctrl + A
) e copie (Ctrl + C
). No Excel, selecione aPage1
do seu controleMultiPage
, vá para a janela de “Propriedades” (pressioneF4
se não estiver visível) e cole o design copiado na propriedadePicture
. Ajuste o alinhamento da imagem na propriedadePictureAlignment
para2 - frmPictureAlignmentCenter
. - Repetir para as Outras Etapas: Crie novas páginas no seu controle
MultiPage
(clicando com o botão direito sobre as abas das páginas e selecionando “Nova Página”) e repita o processo de copiar e colar o design de cada etapa correspondente do PowerPoint.
Passo 3: Adicionando Botões e Funcionalidade com Código VBA
Agora, vamos adicionar os botões de navegação e a lógica para que eles funcionem.
- Criar Botões no PowerPoint: Assim como o design principal, crie os botões “Próximo”, “Voltar” e “Salvar” no PowerPoint para manter a consistência visual.
- Inserir Controles de Imagem no VBA: No
UserForm
, adicione controles do tipo “Imagem” da Caixa de Ferramentas para cada botão. Cole o design de cada botão na propriedadePicture
do controle de imagem correspondente. - Escrevendo o Código: Dê um duplo clique no botão “Próximo” para abrir o editor de código e insira o seguinte:
Private Sub btnProximo_Click()
MpConteudo.Value = MpConteudo.Value + 1
btnVoltar.Visible = True
If MpConteudo.Value = 3 Then 'Altere 3 para o número da sua última página
btnProximo.Visible = False
btnSalvar.Visible = True
End If
End Sub
Code language: PHP (php)
Para o botão “Voltar”:
Private Sub btnVoltar_Click()
MpConteudo.Value = MpConteudo.Value - 1
btnProximo.Visible = True
btnSalvar.Visible = False
If MpConteudo.Value = 0 Then '0 representa a primeira página
btnVoltar.Visible = False
End If
End Sub
Code language: PHP (php)
E para inicializar o formulário corretamente, dê um duplo clique no próprio UserForm
e no evento Initialize
, adicione:
Private Sub UserForm_Initialize()
MpConteudo.Value = 0
btnVoltar.Visible = False
btnSalvar.Visible = False
End Sub
Code language: PHP (php)
Observação: Renomeie seus controles MultiPage
e de imagem (botões) nas propriedades para nomes significativos como MpConteudo
, btnProximo
, btnVoltar
e btnSalvar
para que o código funcione corretamente.
Conclusão
Seguindo estes passos, você terá um formulário de múltiplas etapas funcional e com um design profissional no Excel. Este método não só melhora a aparência dos seus projetos em VBA, mas também aprimora significativamente a experiência do usuário ao dividir processos longos em etapas lógicas e gerenciáveis. Experimente e eleve o nível das suas planilhas!
0 Comentários