Blog

Postado em em 16 de maio de 2019

Como criar formulário no Excel – Criando UserForm no VBA – 4/5

Caso prefira esse conteúdo no formato de vídeo-aula clique nesse link!

Para baixar a planilha utilizada nessa aula clique aqui!

O que é um formulário?

Formulário é uma opção do Excel que nos possibilita criar uma nova interface, dando uma cara de programa à planilha, diferente do que estamos habituados quando utilizamos o Excel. Iremos utilizar uma tela que chamaremos de formulário que se assemelha a um programa que efetua um cadastramento de um funcionário.

Esse formulário é como um comum em papel em que você preenche para que alguém possa ter essas informações gravadas, aqui irá funcionar da mesma forma, os dados serão preenchidos e serão salvos dentro do Excel.

Quando utilizar o Formulário?

O formulário é útil sempre que o usuário necessite de uma entrada ou pesquisa de dados de terceiros e não tem a intenção de que eles possam ver ou modificar todos os dados dentro do Excel. Portanto, os dados de busca e navegação serão limitados pelo programador do código.

O formulário pode ser utilizado também para facilitar a entrada desses dados sem que o usuário tenha que escolher célula por célula onde vai inserir cada um desses dados, portanto é uma outra facilidade que o formulário trás. Além de ficar mais agradável esteticamente acaba sendo mais eficiente na hora de utilizar o código programado através do formulário.

Neste caso iremos construir um formulário para obter algumas informações como: nome, sexo, área, CPF e salário dos funcionários. Portanto, a partir de duas macros atribuídas a dois botões de Criar e Excluir conseguiremos criar um novo cadastro e excluir um cadastro já existente.

Podemos observar que essa janela que é aberta dentro do Excel já não tem o aspecto de Excel e sim de um programa para cadastro. Então, basta o usuário colocar as informações e pressionar OK que esses dados serão gravados dentro do Excel de uma forma mais prática.

Como utilizar o Formulário?

Essa é a continuação do post de UserForm. É o quarto post de cinco da sequência.

Até o momento é assim que temos o nosso formulário.

É possível observar que já temos nossa interface toda pronta, ou seja, temos todos os rótulos, caixas de textos, botões de opção, caixa de combinação e botões de comando. Temos tudo que precisamos para que o usuário possa inserir as informações referentes ao cadastro de funcionários.

O objetivo desse formulário é depois que todas as informações forem preenchidas o usuário pressione OK e todos esses dados sejam gravados em uma planilha para que a pessoa responsável possa analisar futuramente todos os cadastros que foram feitos.

Antes de começar a programação em VBA para dizer o que tem que ser feito com cada uma das informações é importante criarmos a planilha que irá receber esses dados. É uma planilha bem simples que vai conter exatamente as informações do formulário.

Esses serão os cabeçalhos da planilha para que possamos futuramente indicar onde cada um dos dados serão alocados.

Voltando ao VBA vamos agora modificar os nomes dados pelo Excel as caixas de texto para que tenhamos nomes mais intuitivos e seja mais fácil na hora da programação de saber o nome de cada um dos objetos que estamos utilizando.

Ao selecionar a caixa de texto embaixo do rótulo de nome é possível observar que o nome dado a essa caixa é TextBox1, que é um nome padrão dado pelo Excel, no entanto para facilitar a programação e sabermos com qual objeto estamos trabalhando vamos substituir esse nome por caixatexto_nome. Desta forma é mais fácil identificar que se trata de uma caixa de texto é que essa caixa é referente ao nome do funcionário.

Para as caixas de CPF e Salário será feito o mesmo procedimento, será colocado caixatexto em seguida o símbolo “_” e o nome a que se refere, o primeiro será CPF e o segundo salário.

Para a área do funcionário iremos colocar o nome de caixacombinacao_area, porque é uma caixa de combinação e não apenas uma caixa de texto, ela possui algumas opções a serem selecionadas.

Os botões de opção de sexo também terão seus nomes alterados para botaomasculino e botaofeminino.

Para que possamos pegar essas informações do formulário e colocar na planilha vamos utilizar um evento, que é uma ação que vai disparar uma consequência, ou seja, nossa ação irá ocorrer quando pressionarmos o botão OK, essa ação vai gerar uma consequência que é pegar esses dados e gravar eles na planilha.

Então, para começarmos o código relacionado ao botão de OK basta dar um clique duplo no botão de OK que será iniciado um novo código para esse botão.

Observe que abaixo do código do botão se encontram os outros códigos que já fizemos nas aulas anteriores que são referentes ao fechamento do formulário e a atualização automática da lista de área do cadastro de funcionários.

OBS: Para prosseguir com o código e ter o funcionamento correto é importante que se tenha pelo menos 1 cadastro efetuado, ou seja, será necessário escrever manualmente o primeiro cadastro para que na hora de utilizar a fórmula ele funcione corretamente e escreva os próximos cadastros corretamente.

Para isso vamos começar colocando um cadastro na nossa lista.

Para começar o código do preenchimento dos dados vamos iniciar da mesma forma que fizemos para obter a atualização automática da caixa de combinação da área dos funcionários, então para isso temos que descobrir qual é a última linha preenchida, e colocar a nova informação na linha logo abaixo. Neste caso temos que a última linha preenchida é a linha 2, portanto nosso novo cadastro deverá ser colocado na linha 3, ou seja, é a última linha preenchida + 1.

Após encontrar a linha em que os novos dados serão inseridos está na hora de indicar qual dado será inserido em cada uma das colunas. Neste momento vamos utilizar as nomenclaturas dadas anteriormente para facilitar o processo. Então o nome vamos colocar na coluna A e na linha encontrada pela fórmula anterior.

Para os botões de opção, como temos dois botões um de masculino e um de feminino é necessário saber qual dos dois está selecionado, ou seja, qual deles é verdadeiro. Para fazer essa verificação vamos utilizar a fórmula SE do VBA que é o IF.

Então teremos que verificar se o botão masculino é verdadeiro, se for verdadeiro vamos colocar na coluna de sexo “Masculino”, caso contrário será “Feminino”, pois temos apenas duas opções.

Os próximos passos são similares ao primeiro passo de preencher o nome do funcionário, vamos informar em qual linha e coluna será preenchido e vamos informar qual informação deverá ser colocada em cada uma dessas células.

Portanto o código completo ficará da seguinte maneira:

Para testar o funcionamento basta irmos ao ambiente Excel e preencher com algumas informações.

E ao pressionar OK temos esses dados que foram preenchidos sendo inseridos na planilha em seus devidos lugares.

É possível observar que os dados foram preenchidos corretamente em cada uma das colunas e foram preenchidos em uma linha vazia não havendo a sobreposição de informações.

No próximo post será finalizado o formulário com os últimos detalhes para deixá-lo completo e totalmente funcional.

Esse foi o post 4/5 do UserForm

Para continuar recebendo conteúdo sobre esse e outros assuntos de Excel e VBA, acompanhe os nossos posts.



Quer aprender tudo de Excel para se tornar o destaque de qualquer empresa?