Blog

Postado em em 24 de abril de 2019

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

Caso prefira o conteúdo de formulários no formato de vídeo-aula clique nesse link!

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?

Para começar temos que acessar o ambiente VBA, para isso basta utilizar o atalho ALT + F11 (ou Fn + ALT + F11, caso a primeira alternativa não funcione). Feito isso será aberta uma nova janela que é o ambiente VBA.

Dentro do ambiente VBA vamos na opção Inserir e depois em UserForm.

Feito isso teremos o modo de formulário aberto para edição juntamente com a caixa de ferramentas que nos possibilita inserir alguns módulos, como: rótulo, caixa de texto, botão de opção, botão de comando, barra de rolagem

Caso a caixa de ferramentas não apareça basta clicar no botão caixa de ferramentas que ela irá aparecer.

Para iniciar devemos aumentar o tamanho do nosso formulário para que fique em um tamanho adequado para comportar todas as informações que queremos inserir. Para isso basta clicar e arrastar nos quadrados ao redor do formulário.

Em seguida devemos pintar o formulário, ou seja, modificar a cor de fundo. Para fazer essa modificação da cor de fundo iremos selecionar o formulário (clicando nele), depois ir até a janela de Propriedades na opção BackColor, clicar na seta para baixo que irá aparecer e em seguida ir na aba Paleta. Feito isso basta escolher a cor desejado para o fundo do formulário.

Agora iremos modificar o nome que aparece como título do formulário, pois está com o nome padrão de UserForm. Para isso vamos novamente selecionar o formulário e vamos modificar na janela de Propriedades a opção Caption de UserForm1 para Cadastro de Funcionários. É possível verificar que existe outra propriedade que também possui o nome “UserForm1”. Essa propriedade é o Name. A diferença entre o Name e o Caption é que o primeiro se refere ao nome que o VBA chama esse formulário, como se fosse um apelido, já o Caption se refere ao que vai aparecer como título do formulário.

Temos agora nosso formulário com o nome modificado para que fique mais intuitivo o propósito do mesmo.

Vamos selecionar novamente o formulário para que possamos utilizar as ferramentas para dar forma ao formulário. A primeira que vamos utilizar é chamada de Rótulo, que é representada pelo símbolo A.

Para utilizar basta clicar e arrastar dentro do formulário na posição desejada.

Por conta da cor utilizada de fundo podemos observar que o nome não aparece tão visível. Neste caso vamos alterar a cor do texto novamente utilizando a caixa de propriedades que fica no canto esquerdo inferior.

OBS: Vale lembrar que essa janela de propriedades se altera à medida que o usuário seleciona diferentes itens. Tanto que quando selecionamos o nosso formulário nós alteramos o Caption para Cadastro de Funcionários e este já tem um nome diferente.

Então cada item selecionado possui suas propriedades separadamente e só aparecem à medida que é selecionado, portanto para alterar as propriedades de um item é necessário selecioná-lo antes de fazer a alteração.

Para modificar a cor do texto basta ir a caixa de propriedades do texto e modificar a opção ForeColor para a cor desejada.

Desta forma já temos um texto mais visível. Para que fique ainda melhor vamos modificar o tamanho da fonte de texto, ainda na caixa de propriedades, mas agora na opção Font.

Clicando nos 3 pontos uma nova janela será aberta para que possamos fazer as modificações de fonte dentro do Excel.

Nesta janela o usuário poderá fazer as modificações que desejar em relação a fonte, pode escolher o tipo, o estilo e o tamanho.

Agora vamos alterar o texto de Label1 para Nome: que é a informação inicial que queremos no nosso cadastro de funcionários. Para isso, vamos alterar o texto da opção Caption de “Label1” para “Nome:”.

Desta forma temos o texto adequado e visível para a aplicação em questão.

OBS2: Para verificarmos se o formulário já está funcionando, vamos criar um código em VBA e atribuir a um botão. Desta forma poderemos abrir o formulário apenas com um atalho utilizando da programação em VBA.

Para que possamos criar esse código será necessário abrir um módulo dentro do VBA. Basta ir na opção Inserir e em seguida em Módulo.

Feito isso teremos uma janela em branco para começarmos a escrever nosso código. Esse código será nossa macro (sub rotina), ou seja, tudo que estiver dentro do código será executado quando pressionarmos o botão atribuído para essa macro.

Dentro desse código nós iremos utilizar os nomes que vimos dentro das propriedades de cada item, que estava definido pela opção (Name), portanto vamos começar alterando o nome do nosso formulário para Registro_funcionarios (primeiro precisamos clicar no formulário, ir na janela de propriedades na opção Name e alterar para registro_funcionarios). Desta forma fica mais fácil saber com o que estamos trabalhando dentro do código.

A princípio teremos o seguinte código:

Esse código é apenas para que possamos abrir o nosso formulário e verificarmos como ele está à medida que vamos progredindo.

Sub – Essa função é para iniciarmos a nossa sub rotina, isso indica que estamos começando a macro ali em seguida iremos colocar o nome da macro, no nosso caso ela se chama abre_formulario.

OBS3: Não se pode colocar funções ou variáveis dentro do VBA utilizando caracteres especiais, acentos ou separando por espaço. Por este motivo juntamos o nome da nossa macro com a utilização do underline (_).

Registro_funcionarios.Show – isso indica que queremos mostrar (.show) o nosso formulário (Registro_funcionarios), ou seja, temos o item ou objeto que vamos utilizar e após o ponto a ação que será feita.

End Sub – Indica o final da nossa sub rotina, ou seja, tudo que estiver entre o Sub e End Sub será executado dentro daquela macro abre_formulario.

Feito esse código podemos voltar ao ambiente do Excel para criarmos um botão e atribuir a nossa macro a ele.

Para criar o botão basta ir a guia Inserir, selecionar o menu de Ilustrações, em seguida o menu de Formas e por fim a forma que o usuário achar mais adequada para a utilização. Neste caso utilizaremos o Retângulo: Cantos Arredondados.

Em seguida basta clicar e arrastar para criar a forma escolhida. Para escrever dentro do botão basta começar a escrever e formatar da forma que achar mais adequado.

Para estilizar o botão o usuário tem a opção de utilizar os Efeitos de Forma, que se encontram na guia Formatar (só irá aparecer quando a forma em questão estiver selecionada).

Criado o botão podemos atribuir nossa macro a ele. Basta clicar com o botão direito em cima do botão e selecionar a opção Atribuir macro…

Feito isso será aberta uma nova janela onde o usuário poderá escolher qual macro deseja atribuir a este botão. No nosso caso iremos atribuir a macro que acabamos de criar, que é para abrir o formulário para podermos analisá-lo.

Feito isso quando clicarmos em cima do nosso botão nossa macro será executada automaticamente. Como aplicamos uma macro para abrir o formulário assim que clicarmos no botão ele irá nos mostrar o formulário dentro do ambiente Excel.

Agora podemos sempre verificar a visualização do nosso formulário utilizando o botão que acabamos de criar. Essa é uma forma prática de analisar como será a visualização de quem for utilizar este formulário.

Voltando ao ambiente VBA, vamos inserir mais informações ao formulário.

Neste momento vamos utilizar a ferramenta Caixa de Texto, que é a ferramenta responsável por criar uma caixa de texto para que o usuário possa inserir as informações para o cadastro do funcionário. Essa ferramenta funciona da mesma forma do Rótulo, ou seja, basta clicar e arrastar para deixar do tamanho adequado.

Feito isso notamos que nosso formulário já vai ganhando forma, temos o texto que indica a informação a ser inserida e temos a caixa que permite ao usuário preencher o nome.

Como temos mais duas informações que irão utilizar o mesmo formato utilizado até o momento que é a informação e a caixa para o usuário preencher, podemos selecionar esses dois itens segurando a tecla CTRL e copiando com o atalho CTRL + C e em seguida colando com o atalho CTRL + V.

Feito isso basta arrastar para alinhar os itens e renomear os rótulos.

Com isso o formulário vai ganhando forma e ficando cada vez mais completo para a aquisição dos dados para cadastro de um novo funcionário.

Para testar como está a visualização para o usuário podemos novamente ir ao ambiente Excel e clicar no botão que criamos para abrir o formulário utilizando nossa macro.

Nos próximos posts continuaremos a construção do nosso formulário de cadastro.

Para saber mais sobre formulários e outros assuntos de Excel e VBA, acompanhe que vamos enviar outros posts.



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