Quando fazemos um formulário de usuário, ele recebe dados como entrada dos usuários, mas os dados são fornecidos ao formulário não se fecha, então pode induzir o usuário a inserir dados novamente, usamos dois comandos diferentes para fechar um formulário de usuário quando a entrada foi fornecidos e eles são o método Unload me para fechar um formulário de usuário ou podemos usar o método userform.hide.
Excel VBA Close Userform
Os formulários do usuário são vitais para a obtenção de entradas do usuário como parte do projeto VBA. Normalmente projetamos o formulário do usuário antes de apresentá-lo na frente do usuário. Depois que o design do formulário de usuário VBA for concluído, precisamos mostrar o mesmo na frente do usuário e exigir a codificação VBA. Da mesma forma, para fechar o formulário do usuário, é necessário conhecimento de codificação VBA.
Neste artigo, mostraremos como fechar o formulário do usuário na codificação VBA.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples.png.webp)
Como fechar o UserForm no Excel VBA?
Uma vez que o propósito do formulário do usuário é feito, há um ponto em continuar mostrando o formulário do usuário na frente do usuário, então precisamos fechar o formulário do usuário. Podemos fechar o formulário do usuário usando as instruções “Unload Me” e “UserForm.Hide”. Mesmo que ambos sejam ligeiramente diferentes um do outro, isso acabará servindo ao nosso propósito.
# 1 - Feche o formulário do usuário usando a instrução “Unload Me” no VBA
Por exemplo, observe a imagem abaixo do formulário do usuário.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_2.png.webp)
Chamei o formulário de usuário de “MyUserForm”.
Se eu executar o formulário do usuário, veremos o formulário do usuário como abaixo.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_3.png.webp)
Preciso preencher os detalhes obrigatórios. Assim que as informações forem preenchidas, se eu clicar no botão Enviar, os mesmos dados serão capturados para a planilha, que fica visível no lado esquerdo.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_4.png.webp)
Ao clicar no botão enviar, ele capturou os dados que eu inseri no formulário do usuário.
Se você perceber, temos mais um botão chamado “Cancelar”. O que isso faz?
Antes de exibirmos o formulário do usuário, precisamos configurar este botão. Agora vou voltar ao editor visual básico para configurar este botão.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_5.png.webp)
Agora, darei um clique duplo no botão Cancelar e ele abrirá o subprocedimento VBA automático como o mostrado abaixo.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_6.png.webp)
Neste procedimento, precisamos escrever o código VBA sobre o que deve acontecer se clicarmos no botão Cancelar. Quando clicamos neste botão cancelar, ele deve fechar o formulário do usuário que estamos trabalhando no momento.
Então, escreva o código como “Unload Me”.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_7.png.webp)
Código:
Sub privado CancelButton_Click () Unload Me End Sub
“Unload Me” é a palavra que usamos para fechar o formulário do usuário no qual estamos trabalhando. Aqui, o formulário do usuário reconhece a palavra “Eu” como o próprio formulário do usuário.
“Unload Me” pode ser usado apenas nesse procedimento de formulário do usuário. Não podemos chamar esta declaração em outros módulos. Se chamado, ele mostrará a mensagem de erro como “ Uso inválido da palavra-chave Me”.
Ok, vamos executar o código usando a tecla F5 ou manualmente agora, veremos um formulário de usuário em branco.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_8.png.webp)
Preencha os dados e clique em Enviar.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_9.png.webp)
Assim que o botão enviar for clicado, ele armazenará os valores nas células mencionadas.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_10.png.webp)
Se a entrada de dados for feita, precisamos fechar o formulário do usuário. Não é ??
Então, clique no botão Cancelar para fechar o formulário do usuário, ele irá fechar o formulário do usuário.
# 2 - Feche o formulário de usuário usando o método de ocultar no Excel VBA
Também podemos fechar o Userform usando o método “Hide” também no VBA. Agora, mais uma vez, vou clicar duas vezes no botão cancelar para ver o subprocedimento privado.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_7.png.webp)
Como já escrevemos o código para fechar o formulário do usuário, podemos ver o código existente no VBA. Agora vou deletar isso.
Para usar o método Hide, precisamos chamar o formulário do usuário por seu nome. Nesse caso, nosso nome de formulário de usuário é “MyUserForm”.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_11.png.webp)
Depois de mencionar o formulário do usuário pelo seu nome, se colocarmos um ponto (.), Podemos ver todas as propriedades e métodos deste formulário do usuário. Agora selecionarei o método “Ocultar”.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_12.png.webp)
Ok, vamos executar o userform mais uma vez. Veremos um formulário de usuário em branco, preencha os detalhes primeiro.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_13.png.webp)
Agora, sem clicar no botão Enviar, clicarei no botão cancelar, ele ocultará o formulário do usuário.
Diferença entre descarregar e ocultar no Excel VBA
Você deve ter uma dúvida sobre qual é a diferença entre Descarregar e Ocultar, onde ambos têm uma finalidade semelhante. Existe uma diferença entre esses dois. Agora, primeiro, usarei a instrução Unload Me. Veja a imagem abaixo.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_14.png.webp)
Eu inseri os dados no formulário do usuário, mas ainda não os enviei. Se eu clicar em Cancelar, o formulário do usuário será descarregado.
Agora, novamente, irei executar o código por meio da tecla de atalho do Excel F5 ou manualmente, ele exibirá um formulário de usuário em branco.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_15.png.webp)
Apesar de ter inserido os dados corretamente por engano, cliquei no botão cancelar, quando o novo formulário do usuário reaparecer, preenchi os dados do zero.
Agora usarei o método “Ocultar”.
![](https://cdn.know-base.net/5570679/vba_close_userform_top_2_methods_to_close_userform_with_examples_16.png.webp)
Não, vou clicar no botão cancelar. Ele irá ocultar o formulário de usuário visível. Mas quando eu reexecutar a macro, ela voltará com os dados que já inseri no formulário do usuário.
É assim que podemos usar a instrução “Unload” e o método “Hide” para fechar o formulário do usuário no Excel VBA.