Neste artigo, você aprenderá os fundamentos dos formulários de usuário do VBA. Explicarei como criar um formulário no Excel, como usar a caixa de ferramentas VBA, como lidar com as entradas do usuário e, finalmente, como armazenar as entradas do usuário. Examinaremos esses tópicos usando um exemplo e um guia passo a passo. Se você está lendo isso, então presumo que você conheça os fundamentos do Excel VBA.
Sem mais delongas, vamos começar.
Criar um formulário para investimento em Excel e armazenar registro
Começaremos projetando o formulário do usuário. Neste formulário de usuário, teremos uma caixa de texto para o nome, uma para a idade, uma para o valor do investimento e um par de botões de opção para o gênero. Vamos começar.
Projete o formulário do usuário
- Abra o editor visual basic no Excel usando o atalho ALT + F11. Na caixa do projeto, clique com o botão direito em VBAProject(seu arquivo). No inserir opção, escolha UserForm.
- Imediatamente, uma nova pasta será criada e seu formulário de usuário será encontrado. Todos os formulários de usuário para este projeto serão adicionados a esta pasta.
- Altere o nome do formulário para InvestmentForm no caixa de propriedade.
- Adicione elementos ao formulário: Na imagem acima, já adicionei elementos (rótulos, caixa de texto, botão de comando). No entanto, um novo formulário de usuário está completamente em branco. Você precisa usar a caixa de ferramentas para adicionar elementos ao formulário. Se você não consegue ver a caixa de ferramentas, obtenha-a em visualizar aba.
- Elementos de Nome: A caixa de texto, rótulos, botões, etc. todos são elementos. E para usá-los no código VBA, precisamos dar nomes a eles. Usamos a janela de propriedade para alterar seu nome.
- Selecione o elemento. Aqui estou, selecione a caixa de texto para o nome. Vá para a janela de propriedades e altere o nome para “NameBox”. Faça o mesmo para cada elemento que você vai usar. (você não precisa nomear rótulos, a menos que queira que eles sejam clicáveis.)
A caixa de propriedades é mostrada no canto inferior esquerdo do explorador de projetos. Se você não consegue ver, vá para ver e clique em Janela de propriedades. Iremos usá-lo muito, então certifique-se de que está lá. Ele é usado para estilizar, nomear e personalizar formulários.
Adicione rótulos usando a caixa de ferramentas para nomes descritivos. Adicionar caixa de texto para entradas do usuário.
Adicione dois botões de opção e nomeie-os como Masculino e Feminino.
Usei um quadro para encapsulá-los, mas não é necessário.
Adicionar botões de comando enviar e cancelar para realizar a operação em uma determinada entrada.
Renomeei o elemento conforme a tabela abaixo e usarei esses nomes para me referir a eles. Você pode ter nomes diferentes. Basta substituir esses nomes pelo seu nome. Esses são nomes VBA (nome de código) que serão usados no código. Eles não serão refletidos no formulário.
O texto que você pode ver nas etiquetas e botões são “Legendas”. O nome e a legenda do elemento podem ser iguais, se desejar.
Elemento | Renomear |
Caixa de Texto do Nome | NameBox |
Caixa de Texto de Idade | AgeBox |
Botão de opção masculino | MaleOption |
Botão de opção feminino | FemaleOption |
Caixa de Texto de Investimento | InvestBox |
Botão de comando de envio | Botão de envio |
Botão Cancelar Comando | CancelButton |
- Mostrar formulário do usuário para o usuário: agora o formulário está pronto, vamos mostrá-lo ao usuário. Mas espere, como faço isso. Não há opção na planilha para chamar o formulário do usuário.
- Em uma planilha, vá para a guia de desenvolvedores? Inserir? Botão (controle de formulário). Renomeie-o como formulário aberto.
- Clique com o botão direito nele. Clique em atribuir macro e clique em novo.
- Um sub será criado imediatamente. Agora adicione esta linha a esse sub.
Na verdade, o formulário do usuário precisa ser acionado. Não pode ser mostrado por si só. Você pode usar um botão de comando, uma sub-rotina ou um evento para fazer o formulário aparecer na tela.
Aqui, vou usar um botão de comando para acionar o formulário do usuário.
Sub Open_Form () 'Abrindo formulário InvestmentForm.Show End Sub
Está feito. Volte para aquela planilha e clique no botão. O formulário do usuário aparecerá.
- Preencha a planilha usando o formulário do usuário VBA: Conforme clicamos no botão de comando (formulário aberto), o formulário aparece. Agora você pode preencher o formulário. Mas quando clicamos no botão enviar, os dados deveriam ter sido inseridos nesta planilha, mas nada acontece.
Porque não escrevemos nenhuma instrução vba para isso. Precisamos armazenar os dados do formulário do usuário na planilha.
- Volte para o VBA e clique duas vezes no Enviar botão. Um novo sub será criado automaticamente. Este sub está embutido no formulário e você não pode encontrá-lo em nenhum módulo. Isso é o mesmo para cada elemento do formulário.
- Escreva este código vba nesse sub.
Private Sub SubmitButton_Click () Sheet1.Activate 'obter a primeira linha vazia na planilha (leia sobre isso aqui) lstrow = Cells (Rows.Count, 1) .End (xlUp) .Row Definir firstEmptyRow = Range ("A" & lstrow + 1 ) 'inicializar cada célula com os dados firstEmptyRow.Offset (0, 0) .Value = nameBox.Value' primeira célula firstEmptyRow.Offset (0, 1) .Value = AgeBox.Value 'primeira célula à direita firstEmptyRow.Offset (0, 3) .Value = InvestBox.Value 'terceira célula à direita' botão de seleção If MaleOption.Value = True Then firstEmptyRow.Offset (0, 2) .Value = "Masculino" 'segunda célula à direita Else firstEmptyRow.Offset ( 0, 2) .Value = "Fêmea" 'segunda célula à direita End If' Formulário de fechamento Unload Me End Sub
O trecho de código VBA acima é executado quando o botão de envio é clicado. Ele encontra a primeira linha vazia na planilha e a preenche com os valores fornecidos no formulário. E no final fecha o formulário com o comando “Unload Me”.
- Use o comando Cancelar para fechar o formulário. Por enquanto, o botão Cancelar é inútil. Não está fazendo nada. Caso você queira abortar a entrada, você pode usar o botão cancelar. Nesse caso:
Clique duas vezes no botão de comando cancelar no editor VBA. Um novo sub será criado. Basta escrever esta linha de código para fechar o formulário do usuário.
Private Sub CancelButton_Click () 'Formulário de fechamento Unload Me End Sub
Finalmente, o código do formulário ficará assim.
E é isso. É assim que você usa o formulário de usuário do Excel vba para obter informações dos usuários. Neste artigo, exploramos apenas o uso básico do userform, para que você se familiarize com ele. É simples, se você tiver conhecimento de vba básico.
Em artigos futuros, exploraremos funcionalidades mais avançadas de formulários de usuário vba no Excel. Criaremos userform no Excel para fazer muito mais. Exploraremos diferentes ferramentas e elementos disponíveis para o vba userform. Até então, pratique isso. Você pode baixar este arquivo para referência, se desejar.
Então, sim pessoal, este foi um tutorial de formulário de usuário pequeno e simples. Espero que tenha sido engenhoso. Se você tiver alguma dúvida em relação a isso, deixe-me saber na seção de comentários abaixo.
Artigos relacionados
Altere o valor / conteúdo de vários controles de formulário de usuário usando VBA no Excel
Evita que um formulário do usuário feche quando o usuário clica no botão x usando o VBA no Excel
Retorna as células referenciadas pelo usuário usando o controle RefEdit do formulário do usuário no Excel
Artigos populares:
A função VLOOKUP no Excel
CONT.SE no Excel 2016
Como usar a função SUMIF no Excel