segunda-feira, 19 de abril de 2010

14 Como Criar Formulários no Excel

Buenas minha gente, eu tava prometendo há séculos uma postagem com um tutorial para criar formulários em Excel e sempre que eu começava, parava em controles avançados e macros. Daí fiz um tutorial bem simples usando apenas funções condicionais SE, SOMASE e outras funções básicas.

Um formulário permite a entrada de dados numa planilha, clicando nas opções ao invés de digitar tudo. É possível criar menus drop down, botões de opção, caixas de combinação e muito mais. Tudo com comandos pré-definidos. Esse processo além de mais prático, pois evita a digitação, é também mais seguro, pelo fato de o usuário acrescentar o valor preestabelecido.
Vejam o exemplo do nosso formulário abaixo.
Todo o controle de compra de um computador pode ser feito em formulário e os itens são habilitados com um clique do mouse. Aqui nesse exemplo só constam alguns itens, é só pra começar a entender como estruturar um formulário.

Tá pronto? Então arregace as mangas e impressione os amigos e faça uma média com o patrão...

Vamos iniciar um formulário de uma página em branco e construí-lo passo a passo. Quem trabalhava com formulários no Excel XP ou 2003 deve estar se perguntando onde foi parar a barra de Formulários no Excel 2007. As opções de criar botões de controle de formulários estão na Guia Desenvolvedor do Excel 2007, mas por padrão essa aba não é exibida. Então vamos adicionar a Guia Desenvolvedor do Excel 2007.

Clique no botão do Office e depois clique em Opções do Excel:
Na janela de opções marque a caixa "Mostrar guia Desenvolvedor na faixa de opções" e depois clique em OK.

Veja que apareceu mais uma Guia na barra do Excel (nesse caso ela aparece agora no Word também) e ela é destinada a usuários avançados do Office que exploram recursos de Macros e códigos em VBA do Excel. Aparecem também os comandos para criar controles de formulários e ActiveX.

Criaremos um formulário como apresentado no topo da postagem usando os controles de Formulário da nova barra Desenvolvedor. Para inserção de botões de controle de formulários, é necessária a criação de Caixas de Grupo, pois esses controles de formulários só funcionam em grupos que se destinam a funções semelhantes. Então para cada grupo de botões de controle criaremos uma caixa de grupo própria.

Selecione de A1 até J22 para criar um fundo do formulário. Isso é opcional mas fica bem mais bonito.
Escolha uma cor para o fundo do formulário.
Eu escolhi essa aí: Azul... Clique em qualquer célula para remover a seleção.

Aumente a altura da linha...( posicione o cursor na linha divisória entre o 1 e o 2, quando o cursor se transformar numa seta dupla, clique, segure apertado e arraste até a altura desejada)

... selecione o intervalo de A1 até J1 e depois clique no botão Mesclar e Centralizar. Esse aí que tá marcado em vermelho...

Agora você pode digitar um título (Rótulo de Colunas) para seu trabalho. Que tal o super criativo nome de "Venda de Computador"?

Vamos começar a dar forma com a Caixa de Grupo do Processador.

Clique na Guia Inserir e nos controles de formulário escolha Caixa de Grupo.

Clique no cantinho de cima aí do fundo azul, segure apertado e arraste até definir o tamanho desejado para a caixa de grupo dependendo dos elementos que serão inseridos nela.

Clique sobre o nome Caixa de Grupo e renomeie a caixa para Processador

Nessa caixa de grupo, iremos inserir os botões de opções para escolha do Processador. Lembrando que esse botão de opção é de seleção única. Ou seja, usando o botão de opção só é possível marcar um item por vez. Até porque nesse caso, um computador não teria dois processadores então optamos por apenas um item assinalado nessa caixa de grupo.
Clique no Botão de Opção...
... e desenhe esse botão dentro da caixa de grupo (isso é muito importante porque faz com que a opção seja reconhecida como componente da caixa de grupo) o botão da primeira opção para escolha do Processador.

Digite um nome para a opção e posicione no inicio da lista...
Todo o processo deverá ser repetido em cada opção dessa caixa para os outros modelos de Processadores.
Você pode dimensionar a caixa de grupo clicando no contorno e depois usando as alças (bolinhas brancas) para aumentar e diminuir. Para movimentar e alinhar pelo teclado, clique com o botão direito do mouse na borda da caixa, clique depois botão esquerdo (também na borda) e use as setas de direção do teclado. Para remover a seleção clique fora da caixa.
Para dar um efeito de 3D, clique com o botão direito do mouse no contorno da caixa, escolha Formatar Controle..
e depois habilite a opção Sombreamento em 3D.

Agora vamos repetir todo o processo e criar a Caixa de Grupo das Memórias. Desenhe a caixa de grupo e depois insira novos botões de opção para que o usuário escolha a quantidade de memória desejada.
Na terceira caixa de Grupo, os Acessórios: Crie a caixa de Grupo, defina um tamanho para caber seis opções de Acessórios. Essas opções serão escolhidas com uma caixa de Seleção. Clique na Caixa de Seleção...
...clique dentro da caixa de grupo Acessórios e digite os nomes, faça os alinhamentos...

Importante: A caixa de seleção de uma opção, não deve sobresecrever outra, senão selecionará as duas opções simultaneamente na hora de utilizar o formulário.

No final deverá ficar assim:
Agora vamos à área de cálculos...digite o texto conforme a figura abaixo...
As caixa em branco são apenas células com contorno preto e fundo branco. Observe que tem uma caixa de grupo em volta e dois botões de opção: À vista e À Prazo. No Local da Entrega tem uma Caixa de Combinação, essa por enquanto não precisa fazer...

Tá pronto? Então vamos à segunda parte (bem mais fácil e mais rápida) que é criar a base de dados. Abaixo está a base de dados que deve ser digitada para que o formulário, através de dígitos de controle, resgate os valores dos componentes. Digite a base e siga rigorosamente as linhas e colunas definidas na tabela.
Os valores são fictícios e os nomes das cidades, usei a lista de acessos do Blog Coizaradas...
Agora: Os cálculos!!!

Clique com o botão direito sobre o item AMD Athlon XP e escolha Formatar Controle. Na opção Valor está habilitado Não Selecionado que corresponde a atual situação botão do processador AMD Athlon XP.

Clique no botão Recolher ( o botão com setinha vermelha ) para associar a opção do botão com uma célula. Clique na célula O4 para inserção do digito de controle da opção. Clique no botão Recolher novamente para retornar à tela anterior e confirme OK.
Veja que assinalando a primeira opção dos processadores, na célula do digito de controle aparece o número 1.
Se for marcada a segunda opção da lista (Intel Core2Duo) aparecerá o número 2 nessa mesma célula indicando que agora a segunda opção da Caixa de Grupo foi escolhida pelo usuário.

O que são e para que servem os Dígitos de Controle:
Na caixa Processador, o primeiro item da lista é AMD Athlon XP. Se essa opção for escolhida com um clique do mouse, a célula do dígito de controle deve registrar o número 1, se for escolhido Intel Core2Duo, que é a segunda opção da caixa, a célula do dígito de controle deve registrar o número 2 e assim sucessivamente, não importando quantos itens existem dentro da caixa grupo.
Apenas as opções devem ser criadas na ordem em que estarão na caixa de grupo, pois esse dígito de controle resulta na ordem crescente de criação da opção.

Para a Caixa de Grupo Memórias, repita os procedimentos anteriores: Clique com o botão direito sobre o item 2 Gb e escolha Formatar Controle.

Na opção Valor está habilitado Não Selecionado que corresponde a atual situação botão da memória de 2Gb DDR2
Clique no botão Recolher (o botão com setinha vermelha ) para associar o opção do botão com uma célula. Clique na célula O8 para inserção do dígito de controle da opção. Clique no botão Recolher novamente para retornar à tela anterior e confirme OK.
Se for marcada a segunda opção da lista (4Gb) aparecerá o número 2 nessa mesma célula indicando que agora a segunda opção da Caixa de Grupo foi escolhida pelo usuário.

Na caixa Acessórios, são Caixas de Seleção que oferecem as opções de escolha. Nesse caso, é necessário clicar botão direito e escolher cada célula de controle individualmente.


Caixas de Seleção não resultam em valores numéricos como 1, 2 ou 3, mas uma resposta lógica Verdadeiro para assinalado e Falso para não assinalado.

Ex: Ao clicar com o botão direito em Web Cam, escolher a célula ao lado de Web Cam na base de dados, como exemplo da figura acima, clicar botão direito em Pen-drive e escolher a célula ao lado de Pen-Drive na base para o controle e assim por diante.
No final teremos o valor lógico VERDADEIRO para os itens assinalados na lista e FALSO para os itens não assinalados.
Agora as fórmulas:
Clique na célula em branco ao lado da palavra processador e digite:

=SE(O4=1;N4;SE(O4=2;N5;N6))
Que diz o seguinte:
Se a célula O4 for igual a 1, então insira aqui o valor contido em N4, SE a célula O4 for igual a 2, então insira aqui o valor contido em N5, SENÃO, insira o valor de N6.
Aham!! Esse é o segredo! Se marcarmos a primeira opção do formulário, então a célula de controle vai registrar 1 e se for 1 o valor é de O4 ou seja R$190,00....Se for 2, então é R$ 258,00 senão R$ 289,00.
Clique na célula em branco ao lado da palavra Memórias e digite:
=SE(O8=1;N8;SE(O8=2;N9;N10))

Se a célula O8 for igual a 1, então insira aqui o valor contido em N8, SE a célula O8 for igual a 2, então insira aqui o valor contido em N9, SENÃO, insira o valor de N10.

Agora vamos às fórmulas para verificar a validação das Caixas de Seleção dos Acessórios, onde a resposta é Verdadeiro para os itens habilitados e Falso para os itens não habilitados.

Clique na célula ao lado dos Acessórios e digite a fórmula com a função SOMASE:

=SOMASE(O12:O17;VERDADEIRO;N12:N17)O Excel busca os valores Verdadeiros (habilitados) de O12 até O17 e quando os encontrar, somará os valores correspondes nas mesmas linhas de N12 até N17.
Agora clique como botão direito do mouse no Botão de Opção A Vista e escolha formatar controle.

Escolha uma célula na base de dados que não esteja sendo usada e defina como célula de controle da forma de pagamento. Pode ser P16, abaixo da lista das cidades. Clique OK.
Clique na célula em branco ao lado do "À Vista" e digite a fórmula:

=SE(P16=1;SOMA(C11;F11;I11);"")
SE P16 for igual a 1 (À vista) então some Processador+Memórias+Acessórios, Senão deixe a célula VAZIA.
Clique na célula em branco ao lado do "À Prazo" e digite a fórmula:

=SE(P16=2;SOMA(C11;F11;I11);"")
SE P16 for igual a 2 (À Prazo) então some Processador+Memórias+Acessórios, Senão deixe a célula VAZIA.
- A célula da entrada deixe em branco, afinal a gente não sabe quanto ocliente quer pagar na entrada.
- Na célula Saldo, o cálculo do valor total da compra menos a entrada;
=SE(P16=2;F14-C16;0)
Se a célula P16 tiver o valor 2, então o cliente vai pagar em parcelas, então faça o cálculo do valor da compra menos a entrada, senão deixe 0 (Zero)
Na célula Número de Parcelas, deixe em branco mas vamos pôr uma validação para o máximo de 10 parcelas Clique na célula em branco ao lado de Número de Parcelas e clique na Guia Dados > Validação de Dados:
- Escolha um número inteiro...

- Mínimo 2 (porque se for em 1 parcela ele está pagando à vista)
- Máximo 10.
Clique em Alerta de Erro e escreva uma mensagem ao usuário desatento...

Na célula Valor Base da parcela, vamos apenas dividir o saldo pelo número de parcelas:
=F16/I16
Nos Juros vamos aplicar três alíquotas diferentes, dependendo do número de parcelas:
De 2 a 4 = 1,75%
De 4 a 7 = 2,75%
De 7 a 10 = 3,5%

Olha a fórmula aí:
=SE(I16<4;1,99%;se(i16>=7;3,5%;2,75%))

SE o Número de Parcelas (I16) for menor que 4, então 1,99%
SE o Número de Parcelas (I16) for maior ou igual a 7, então 3,5%%
SENÃO ( se não for nenhuma das opções anteriores) 2,75%
No valor final da Parcelas, multiplique o valor base das parcelas pelo juro, mais o próprio valor das parcelas. Resultará no valor base já adicionado o juro.
No Valor final da compra, use a fórmula:

=SE(P16=2;I18*I16+C16;C14)
SE a compra foi a prazo (P16 =2), então multiplique o I18 (Valor final das parcelas) pelo I16 (quantidade de parcelas) e some ainda o C16 (a entrada), SENÃO mostre aqui o valor do C14 (Valor à vista).
Calma que tá quase....
Para concluir o formulário precisamos inserir mais um controle chamado de Caixa de Combinação para selecionar o local da entrega da mercadoria comprada. Na Guia Desenvolvedor, clique em inserir e nos controles de formulário escolha Caixa de Combinação.

Desenhe a caixa de combinação ao lado da célula "Local da Entrega"..

Clique com o botão direito do mouse sobre a caixa de combinação e escolha Formatar Controle.

Configure as opções:

Intervalo de Entrada: Esse intervalo relaciona as células que contém a lista que fará parte das opções da Caixa de Combinação. No nosso caso as cidades que serão escolhidas com um clique do mouse.

Vínculo com a célula:
Devemos indicar a célula que deverá exibir o dígito verificador que indica o item selecionado na lista.
Exemplo: Se na caixa de combinação do formulário for selecionado "Jussara - GO", essa célula exibirá o número 1, pois começando pela primeira cidade, Jussara é a primeira entrada de lista.

Linhas Suspensas: Quantos itens serão exibidos sem usar a barra de rolagem. Se sua lista contém 9 entradas, mude para 9 o número de linhas suspensas, assim o Excel não exibe a barra de rolagem vertical. Negrito

Clique Ok para aplicar as configurações.

Agora vamos testar nossa lista no formulário. Clique na caixa de combinação e escolha um outro item da lista.

Veja que Belo Horizonte é o quarto item da lista, então a célula registra 4. Esse tipo de controle poderia ser usado aqui como um critério para cobrar frete de acordo com a distãncia do cliente ou meramente informativo. A intenção aqui foi demonstrar como funciona uma lista de formulário.
Após o trabalho concluído, desabilite a visualização das linhas de grade do Excel, elas servem como guias no momento de organizar e alinhas as caixas, mas depois podem ser desligadas. Clique na Guia Layout da Página, Opções de Planilha e desmarque a opção Exibir nas linhas de Grade.

Gostou? Achou útil? Recomende no Facebook ou Twitter!!

14 comentários:

Anônimo disse...

Amigo Solano,

Um Tutorial 5 Estrelas...
Adorei...porque fiquei a conhecer mais uma novidades e funcionalidades do Excel.

Parabéns.

MQ

Anônimo disse...

Simplesmente ótimo!!!!!! Só falta nos mostrar como faremos para chamar com uma macro um formulário de preenchimento de dados (Para fechar com chave de Ouro!).

Luciana disse...

Fantástico! Muito obrigada. Pra mim só faltou descobrir como inserir um campo para "Comentários" com limitação de carcteres a serem digitados.

rmiranda disse...

PARABENS, EXELENTE, TENHO VARIAS PLANILHAS PARA CONTROLE DE FROTA, UMA PARA CADA VEICULO(PLACA) E GOSTARIA DE CRIAR UM FORMULARIO PARA ESCOLHER O VEICULO PELA PLACA E INSERIR DADOS RELATIVO AQUELE VEICULO. EX.: PLACA FFF-3322 VOU INSERIR DADOS RELATIVO A ABASTECIMENTO( LITRO,KM,VALOR) E QANDO MUDAR A PLACA VOU INSERIR OS OS DADOS DE OUTRO VEICULO, ASSIM TENHO ALEM DE COMBUSTIVEL OUTRO CONTROLES, PODERIA ME AJUDAR.

RINALDO MIRANDA

Mário Paulo disse...

Parabéns pela iniciativa.
Muito bem explicado! Gostei da sua didática.
Estava procurando formulários no excel e achei essa pérola.
Sabia que existia coisas desse tipo, mas com essa explicação, ficou ótimo.
Continue criando coisas assim... o mundo precisa de gente como você!

Solano disse...

Essa postagem de criar formulários, tem ajudado a bastante pessoas e fico contente por ser útil e também lisonjeado com os elogios. Agradeço a todos que comentaram e a internet é assim mesmo. Em uma hora a gente aprende algo em outras pode também contribuir ... Um abraço a todos...

Anônimo disse...

obrigado amigo pela ajuda q deus te abençoe e te dê mais conhecimento

cida disse...

Obrigada Solano, faço meus uns dos comentários postados "q Deus te abençoe e te dê mais e mais conhecimentos", acrescento, pois quanto mais você dá, mais voce recebe - você é o "cara".

Anônimo disse...

Olá Solano, meus parabéns pelo tutorial, excelente bem prático e objetivo.

Ana Luiza disse...

Esse foi o melhor tutorial sobre formulário que encontrei em toda net. Parabéns!

Ana Luiza disse...

Simplesmente o melhor tutorial sobre formulários no Excel. Parabéns!

Aldo disse...

Boa tarde, gostei muito do tutorial, porém queria tirar uma duvida com você. Tem como fazer esse mesmo formulário para castrado de pessoas, ou seja, ao digitar o nome de nova pessoa esse nome será armazenado em uma planilha em separado...

Anônimo disse...

Parabens pelo tutorial, ficou objetivo e facil de entender.parabens de novo.

Anônimo disse...

Excelente esse tutorial.
Tinha apenas uma noção de cálculos no excel, mas com esse tutorial aprendi muita coisa, e usando essa lógica, fica muito fácil de criarmos tudo qu é tipo de planilhas.

PARABÉNS...