Blog

Postado em em 3 de outubro de 2020

VBA Close Form (Fechar Formulário no VBA) – Dicas Rápidas

No post de hoje vamos começar a construir a inteligência por trás do nosso formulário e a primeira etapa é o close form VBA.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!

Para receber a planilha que usamos na aula no seu e-mail, preencha:

VBA Close Form – Como Funciona?

Nessa aula vamos começar a construir a inteligência que fica por trás do nosso formulário de vendas no VBA! Na primeira parte da aula, vou te mostrar como fechar formulário no VBA, criando um código que vamos associar ao botão X. Na segunda iremos entender como funciona a lista de opção.

Precisamos associar botão e lista de opção no formulário (caixa de seleção) às funções ou ações específicas que queremos que sejam disparadoras de nossos códigos. A seguir, apresentaremos parcialmente os objetos e as funções, e em seguida os códigos que utilizaremos para atrelar a função a esse objeto, para que ele fique inteligente e faça o que queremos. Observe como está nosso formulário:

vba close form
Formulário Excel VBA

Botão X: Fechar o formulário

Para inserir um código no botão X, devemos, com o VBA aberto (Alt(+Fn)+F11), abrir nosso formulário, e dar um duplo clique no botão X. A partir daí, poderemos atribuir uma função de clique (por padrão), que irá disparar um código (no caso para o nosso botão X).

Para o botão X, iremos inserir o seguinte código:

Private Sub CommandButton2_Click()
Unload RegistroDeVendas
End Sub

Explicação:
Toda vez que alguém clicar no botão X, o nosso código irá descarregar o nosso formulário, denominado de RegistroDeVendas.

OBS: Vamos renomear as caixas de texto e de combinação para facilitar como vamos escrever o código. Vamos dar o nome das caixas respectivas como “caixa_exemplo”, sendo exemplo cada tipo de objeto (ID, data, NF, Loja, Vendedor, Quantidade e Preço).

Carregar opções de loja ao iniciar o formulário

Para que possamos ter as caixas de combinação carregadas com as informações, precisamos dar o comando pra que quando iniciarmos o formulário, ele carregue automaticamente as fontes de dados dessas caixas. Para isso, precisamos passar o comando de ação de inicialização do formulário, para que ele dispare o código.

Para isso, precisamos ir no objeto RegistroDeVendas, apertar com botão direito e ir em Exibir código. Em seguida iremos selecionar, no menu superior ao código, à esquerda UserForm e na direita, Initialize. Observe abaixo:

vba close form
Lista De Opção No VBA

Automaticamente ele irá abrir um “Private Sub UserForm_Initialize()” para escrevermos algum código, que irá ser disparado quando abrirmos (iniciarmos) o formulário. Observe abaixo o código que iremos inserir:

Private Sub UserForm_Initialize()
ultima_linha = Sheets("Opções").Range("B1").End(xlDown).Row
caixa_loja.RowSource = "Opções!B2:B" & ultima_linha
End Sub

Explicação:

Como bem explicado no vídeo, precisamos saber qual a quantidade atualizada de lojas iremos carregar, toda vez que o formulário for aberto. Para isso, precisamos descobrir a última linha da coluna de lojas, para pegar as informações da primeira linha até a última linha. Assim, garantimos que a lista estará sempre atualizada, mesmo que entre alguma loja nova nessa listagem.

Para isso, precisamos armazenar na variável “ultima_linha” a informação que nos dará o número correspondente à última linha. Com isso, ao iniciar o formulário, a “caixa_lojavai ter sua fonte de informações (RowSource) atualizada da célula B2 até a última célula da coluna B, que corresponde à última loja, da aba Opções. Com isso, garantimos a lista atualizada sempre.

Portanto, vimos até aqui como fechar o nosso formulário atrelando uma ação ao nosso botão X, e vimos como fazer uma lista de opção no VBA automática. Vamos utilizar essas listas de opções para facilitar o preenchimento das lojas, vendedores e IDs no formulário nos próximos posts. Fique ligado no blog e no nosso canal do Youtube para mais conteúdo!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um minicurso básico gratuito?

Quer sair do zero em Python e virar uma referência na sua empresa? Matricule-se agora mesmo no Python Impressionador!