Formulário de usuário do Excel VBA - Como criar um formulário de usuário interativo?

Formulário de usuário do Excel VBA

Userform em VBA são formulários personalizados definidos pelo usuário que são feitos para receber a entrada de um usuário no formato de um formulário, tem diferentes conjuntos de controles para adicionar, como caixas de texto, rótulos de caixas de seleção, etc. para guiar um usuário para inserir um valor e armazena o valor na planilha, cada parte do formulário do usuário possui um código exclusivo.

Userform é um objeto dentro da interface do Excel e, dentro desse formulário do usuário, podemos criar outras caixas de diálogo personalizadas úteis para obter os dados do usuário. Quando você está trabalhando com um arquivo de macro criado por seu sênior ou que pode ser baixado da Internet, você deve ter visto um formulário de usuário como este.

Neste artigo, mostraremos como criar um formulário de usuário semelhante para armazenar os dados do usuário.

Como criar Userform?

Da mesma forma que você insere um novo módulo de forma semelhante, você precisa clicar no botão INSERT no Editor do Visual Basic para inserir o Userform.

Assim que você clicar nele, o formulário do usuário também será inserido.

Antes de dizer como programar isso, deixe-me mostrar como formatar este formulário de usuário.

Formatando formulário do usuário

Ao selecionar o formulário do usuário, pressione a tecla F4 e será exibida a janela de propriedades.

Usando esta janela de propriedades, podemos formatar este formulário do usuário. Podemos nomeá-lo. Podemos mudar a cor, o estilo da borda, etc. …

Assim, tente outras propriedades para obter uma visão do formulário do usuário.

Agora, para este formulário de usuário, insira a caixa de ferramentas.

Agora veremos uma caixa de ferramentas como esta.

Neste momento, o formulário do usuário é apenas inserido, não programado. Para saber como funciona, basta clicar no botão executar. Veremos o formulário na planilha do Excel.

Agora, usando o rótulo de desenho da Caixa de Ferramentas.

Insira o texto como nome do funcionário dentro do rótulo.

Para este rótulo, podemos formatar usando propriedades. Agora inserimos o texto como “Nome do funcionário:” agora podemos ver isso na janela de propriedades em Legendas.

Insira mais uma etiqueta. Para inserir mais um rótulo, você pode clicar em uma caixa de ferramentas ou arrastar o rótulo atual segurando a tecla Ctrl . Você terá uma réplica do rótulo atual.

Agora teremos o mesmo rótulo.

Altere o nome para ID do funcionário.

Agora, da mesma forma, insira mais uma etiqueta e nomeie-a como “Departamento”.

Agora, na caixa de ferramentas, insira uma caixa de texto.

Nomeie essa caixa de texto como EmpName na janela de propriedades.

Assim, insira mais duas caixas de texto em de ID do funcionário e Departamento, respectivamente. Nomeie essas caixas de texto de acordo com seu título.

Da mesma forma, faça isso para o Departamento.

Agora, na caixa de ferramentas, insira o botão de comando.

Altere o nome do botão de comando para “SubmitButton” e altere a legenda para “Enviar”.

Insert one more button and call it “Cancel.”

Now just to see run, press the run button or use the F5 key and see how your userform looks like in Excel.

Now it is coming to the shape.

VBA Code

Now the user will enter data in this, so we need to program this to store the data entered by the user on this form.

Double click on the SUBMIT button, it will take you to the macro window with an auto-created macro like the below.

It says SubmitButton click, remember we had given a name for the SUBMIT button as SubmitButton.

So, whenever we want to call this button, we can call this by this name (submit button). Inside this macro, copy and paste the below code.

Code:

Private Sub SubmitButton_Click() Dim LR As Long LR = Cells(Rows.Count, 1).End(xlUp).Row + 1 Cells(LR, 1).Value = EmpName.Value Cells(LR, 2).Value = EmpID.Value Cells(LR, 3).Value = Dept.Value EmpName.Value = "" EmpID.Value = "" Dept.Value = "" End Sub
  • EmpName.Value here EmpName is the text box name we had given while creating the employee name text box.
  • EmpID.Value here EmpID is the text box name of the Employee ID text box.
  • Dept.Value this is the department text box name.

So, on the click on the submit button, it will store the values in the mentioned cells.

Now double click on the Cancel button. This will also show you the auto macro name like this.

Copy the below code and paste.

Code:

Private Sub CancelButton_Click() MyUserForm.Hide End Sub

MyUserForm é o nome que demos ao formulário do usuário . MyUserForm.Hide significa que ao clicar no botão CANCELAR, o formulário do usuário será ocultado.

Ok, agora crie um modelo como este na planilha.

Exclua todas as outras planilhas da pasta de trabalho, exceto esta planilha de modelo.

Agora vá para o Editor do Visual Basic.

E execute a macro usando a tecla F5 ou manualmente, veremos o formulário do usuário na nossa frente.

Insira o nome do funcionário, a id do funcionário e o nome do departamento.

Agora, se você clicar no botão SUBMIT, os valores serão armazenados no modelo que criamos.

Assim, você pode continuar inserindo os nomes. O formulário do usuário continuará armazenando os valores inseridos pelo usuário nas células especificadas.

Portanto, usando o FORM DE USUÁRIO, podemos criar projetos maravilhosos para obter as informações do usuário.

Artigos interessantes...