Excel VBA Fechar formulário de usuário
Anteriormente, discutimos como criar um formulário de usuário no VBA. Agora, para obter a entrada do usuário, havia um botão para enviar, que armazenava o valor fornecido pelo usuário em uma planilha do Excel. Mas o que, depois de dar o valor, o formulário ainda está lá. Ou, se o usuário não quiser fornecer dados e fechar o formulário do usuário. Não discutimos como fecharemos o formulário do usuário. Semelhante ao botão enviar para enviar os dados, tínhamos outro botão para cancelar, que é usado para ocultar o formulário do usuário. O botão Cancelar também possui seu próprio código para ocultar o formulário do usuário. Agora, existem dois métodos pelos quais podemos ocultar um formulário do usuário. Eles são os seguintes:
- O primeiro método é quando usamos o método Unload Me. Este método descarrega o formulário de usuário e desaparece da exibição.
- Outro método é quando usamos o método Useform.Hide. Este método oculta o formulário de usuário da exibição.
É recomendável usar o segundo método para fechar o formulário de usuário, pois o primeiro método descarregará completamente o formulário de usuário e todos os dados inseridos pelo usuário serão completamente perdidos. Mas quando usamos o segundo método de ocultar o formulário de usuário, a última entrada feita no formulário do usuário pelo usuário ainda está presente.
Como fechar o formulário de usuário no Excel VBA?
Aprenderemos sobre como fechar o UserForm no Excel VBA com sua diferença e, com alguns exemplos, mas primeiro, vamos aprender o método de fechar um formulário do usuário no VBA.
Existem dois métodos para fechar o formulário do usuário no VBA:
- Descarregar-me
- ocultar
VBA do Excel Fechar formulário de usuário - Exemplo # 1
Primeiro, vamos tentar o método de fechar um formulário de usuário usando a opção Descarregar-me. Tivemos um formulário de usuário em nosso artigo anterior, que se parece com o abaixo.
Para o botão enviar, tivemos nosso código, que armazenava os dados inseridos pelo usuário no excel. Agora clique duas vezes no botão Cancelar, que abrirá o código da mesma forma a seguir,
Código:
Private Sub CommandButton2_Click () End Sub
O botão Cancelar foi o segundo botão de comando que fornecemos ao formulário do usuário. Agora escreva a instrução de código como Descarregue-me na seção, como mostra a imagem abaixo.
Código:
Private Sub CommandButton2_Click () Descarregar-me End Sub
Podemos ver que Eu é uma declaração de Objeto de Descarregamento. Agora, vamos executar o formulário do usuário pressionando a tecla F5 para exibi-lo.
Pressione o botão Cancelar para ver que o formulário do usuário desaparece e nos leva de volta ao formulário do usuário original da janela do projeto.
VBA do Excel Fechar formulário de usuário - Exemplo # 2
Agora vamos tentar o segundo método, que userform.hide, de maneira semelhante à anterior, primeiro, vamos abrir o userform a partir do userform na janela do projeto.
Agora clique duas vezes no botão Cancelar, que abrirá o código de exibição do botão de comando Cancelar.
Já temos a declaração Unload Me presente no botão de comando cancel, limpe o código e substitua-o pela instrução Userform.Hide .
Código:
Private Sub CommandButton2_Click () UserForm1.Hide End Sub
Agora vamos executar novamente o formulário do usuário pressionando a tecla F5 e exibi-lo na tela.
Quando pressionamos o botão Cancelar, somos novamente movidos para a janela do projeto do formulário do usuário. Agora, todos nós podemos estar imaginando qual é a diferença entre os dois métodos, já que os dois métodos fecham o formulário do usuário para nós perfeitamente, por que o segundo método é o método mais recomendado para ambos. Vamos descobrir exatamente o porquê nos próximos dois exemplos.
VBA do Excel Fechar formulário de usuário - Exemplo # 3
Agora, vamos passar para o primeiro método, Unload Me, para o botão Cancelar e fornecer alguns dados ao formulário do usuário. Clique duas vezes no botão Cancelar no formulário do usuário para abrir o código de exibição do botão de comando e substitua o código pela instrução Descarregar-me da seguinte maneira.
Código:
Private Sub CommandButton2_Click () Descarregar-me End Sub
Agora execute o formulário do usuário novamente pressionando a tecla F5 e faça com que seja exibido na tela.
Vamos fornecer alguns dados para o formulário do usuário da seguinte forma: agora não pressione o botão enviar, pressione o botão Cancelar.
Novamente, execute o formulário do usuário pressionando a tecla F5.
Agora podemos ver que perdemos os dados que fornecemos ao formulário do usuário, pois não os enviamos, eles não foram armazenados na planilha e fechamos o formulário do usuário usando a instrução Descarregar-me, que removeu os dados que já estavam preenchidos.
VBA do Excel Fechar formulário de usuário - Exemplo # 4
Agora vamos fazer o mesmo exercício, mas usando a instrução Userform.Hide,
No botão de comando cancelar, substitua o código usando o método userform.hide, como mostrado abaixo.
Código:
Private Sub CommandButton2_Click () UserForm1.Hide End Sub
Agora, executaremos novamente o formulário do usuário pressionando a tecla F5 e fornecendo alguns dados da seguinte maneira.
Agora, pressione o botão Cancelar e execute novamente o formulário do usuário, que nos dará o seguinte resultado.
Os dados nem se perdem quando pressionamos o botão Cancelar, se pressionarmos enviar, os dados serão armazenados no Excel da seguinte maneira.
Agora, os dados estão armazenados, o formulário do usuário está vazio agora e podemos fechar o formulário do usuário usando o botão Cancelar,
Coisas para lembrar
- Depois que a entrada de dados for feita pelo usuário, precisamos fechar o formulário do usuário para que seja tão importante quanto o botão Enviar.
- Fechar Userform está no botão de comando do userform no VBA. Em geral, é nomeado como Cancelar ou Fechar.
- Existem dois métodos separados para fechar um formulário do usuário, mas eles eventualmente servem ao mesmo objetivo que o outro.
- O método Userform.Hide é mais recomendado, mesmo que o formulário do usuário seja fechado pelo usuário antes da entrada de dados, os dados não serão perdidos e a entrada feita pelo usuário será novamente exibida quando um usuário abrir o formulário do usuário.
Artigos recomendados
Este é um guia para o VBA Close UserForm. Aqui discutimos como fechar o formulário de usuário no Excel usando a instrução Unload Me e o método Userform.Hide no VBA, juntamente com alguns exemplos práticos e o modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -
- Como ativar a planilha no VBA?
- Avaliar fórmula no Excel
- Guia completo da caixa de listagem do VBA
- Fórmula HYPERLINK no Excel