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.

Planilha Modelo 3.0
Planilha Modelo 3.0

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.

  1. 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).
  2. Ícones: Para um toque profissional, vá em “Inserir” > “Ícones” e pesquise por imagens que representem cada etapa. Posicione um ícone sobre cada círculo.
  3. Linhas de Conexão: Use a forma de linha para conectar os círculos, criando uma linha do tempo visual do progresso.
  4. 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”.
  5. 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.

  1. 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”.
  2. Abrir o Editor do VBA: Pressione Alt + F11.
  3. Inserir um UserForm: No editor, vá em Inserir > UserForm.
  4. Adicionar um Controle MultiPage: Na “Caixa de Ferramentas”, selecione o controle MultiPage e desenhe-o no seu UserForm. Este controle é a chave para a funcionalidade de múltiplas etapas, onde cada “Page” será uma etapa do formulário.
  5. 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 a Page1 do seu controle MultiPage, vá para a janela de “Propriedades” (pressione F4 se não estiver visível) e cole o design copiado na propriedade Picture. Ajuste o alinhamento da imagem na propriedade PictureAlignment para 2 - frmPictureAlignmentCenter.
  6. 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.

  1. 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.
  2. 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 propriedade Picture do controle de imagem correspondente.
  3. 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 SubCode 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 SubCode 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 SubCode 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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *