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:

  1. 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.
  2. 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:

  1. Descarregar-me
  2. ocultar
Você pode fazer o download deste modelo do Excel do VBA Close UserForm aqui - VBA

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 -

  1. Como ativar a planilha no VBA?
  2. Avaliar fórmula no Excel
  3. Guia completo da caixa de listagem do VBA
  4. Fórmula HYPERLINK no Excel

Categoria: