Marcadores

sexta-feira, 24 de julho de 2015

Introdução ao VBA

Todos falamos alguma linguagem (você pode ser fluente em português, inglês, japonês, etc.). Assim como nós, o Excel também possui uma linguagem, na qual podemos nos comunicar. Esta linguagem é chamada de VBA (Visual Basic for Applications).

Quando você fornece instruções para o Excel utilizando sua linguagem VBA, o Excel faz o que você solicita. Isto permite que automatizemos tarefas chatas, formatar gráficos, organizar dados, etc.

 Escrevendo sua primeira macro


Para escrever seu primeiro programa VBA (macro), usaremos o gravador de macro. O gravador de macro tem a função de registrar tudo que fazemos no Excel em código VBA.

Nossa primeira Macro – Pintar()


O objetivo desta macro é simples, ela pintará as células selecionadas de verde (poderia ser qualquer cor, mas optamos pelo verde devido a combinação da cor com o tema do blog).

Abaixo mostramos a aparência da macro quando estiver pronta.



Etapas para escrever sua primeira macro


Etapa 1 – Selecione qualquer célula e inicie a gravação da macro


Vá para a guia Desenvolvedor e clique no botão Gravar Macro, mostrado na figura abaixo.


Etapa 2 – Nomeie sua macro

Especifique o nome de sua macro. Eu chamei de Pintar. Você poderá definir qualquer nome, exceto nomes que contenham espaço ou caracteres especiais (exceto sublinhado).

Clique em OK quando terminar

Etapa 3 – Preencha a cor da célula de verde

Etapa simples. Basta ir para a guia Página Inicial e preencher a cor da célula de verde

Etapa 4 – Parar a gravação

Vá para a guia Desenvolvedor e clique no botão Parar Gravação, conforme mostrado na figura abaixo



Etapa 5 - Vincule sua macro a um botão

Vá na guia Inserir e desenhe um retângulo. Insira o texto “Pintar”. Em seguida clique com o botão direito do mouse no retângulo e selecione Atribuir Macro (Figura abaixo). Na janela que abrir selecione a macro Pintar da lista e clique em OK. 



Agora é brincar com a macro.

 

Entendendo o código da Macro Pintar


Uma vez a macro estando pronta, vamos olhar por trás das cenas e entender o código. Para isto, clique no nome de sua planilha (canto inferior) e clique em Exibir Código. Com isto você abrirá o editor do Visual Basic.

Para visualizar o código da macro Pintar, clique duas vezes sobre Módulo1 na área da esquerda do Editor Visual Basic. Você verá o seguinte código:



Agora vamos analisar o código linha a linha.
  • Sub Pintar() – Esta linha diz ao Excel que nós estamos escrevendo um novo conjunto de instruções. A palavra Sub indica que as seguintes linhas de VBA são um subrotina. O final da subrotina termina no Excel com a expressão “End Sub”.
  •  Linha iniciando com aspa simples (‘) – Estas linhas são comentários. O Excel ignora tudo que vocês escrever após a aspa simples. Comentários são adicionados para melhor entendimento do código.
  • With Selection.Interior – Enquanto preencher uma célula com cor verde parece uma única etapa para você e para mim, para o computador na verdade compreende uma série de etapas, e neste caso específico o computador está alterando uma série de propriedades do interior da célula selecionada. A função With visa evitar a escrita de expressões repetidas, no caso Selection.Interior. Quando o Excel visualiza With Selection.Interior  ele entende “eu vou fazer todas as operações seguintes a Selection.Interior até eu visualizar a linha End With”.
  • Linhas Iniciadas com ponto (.) – Estas são as linhas que dizem ao Excel para formatar o interior das células. Neste caso, o mais importante é .Color=65280, que está dizendo ao Excel para preencher a cor verde.
  • End With – Isto marca o término do código With.
  • End Sub – Isto marca o fim da nossa macro Pintar().

Algumas Dicas para entender a macro melhor:

  • Mude alguma coisa - Você poderá mudar quase qualquer linha da macro e ver o que acontece. Por exemplo, mude de .Color = 65280 para .Color = 62 e salve. Em seguida rode sua macro e veja o que acontece.
  • Delete alguma coisa – Você poderá deletar algumas das linhas na macro e ver o que acontece. Remova a linha . PatternColorIndex = xlAutomatic e rode a macro novamente para ver o que acontece

quinta-feira, 23 de julho de 2015

Exemplo Intermediário de PROCV

Olá pessoal,

Este exemplo combina a função PROCV com uma função SE.

Para iniciar, abra uma planilha nova no Excel e edite os valores conforme mostrados na Figura 1.


Figura 1

As células G4 e G5 serão os valores editáveis, enquanto que as céluas G6 e G7 exibem os resultados. Basicamente o que esta planilha faz é localizar na tabela o aumento correspondente aos valores de ano e preço inicial inseridos, em seguida obtendo o valor total, que é a soma do preço inicial com o aumento correspondente ao ano informado.

Para fazer isso, basta combinar a função PROCV com a função SE, onde a função PROCV localizará a linha correspondente ao preço inicial inserido na célula G5 e a função SE concatenada (comparando o valor do ano inserido na célula G4 com o anos existentes na tabela), retornando o valor da coluna que a função PROCV irá buscar o valor do aumento. A Figura 2 mostram as fómulas inseridas.


Figura 2

Pronto, agora é só verificar os resultados. Podemos observar que esta combinação poderá ser útil para localizar qualquer valor em uma tabela.

Figura 3

quinta-feira, 16 de julho de 2015

Exemplo de Aplicação da função PROCV

Olá amigos!

Neste artigo vamos trabalhar um pouco com a função PROCV, mostrando como ela é útil para realizar buscas em bancos de dados simples.


Primeiro abra uma nova pasta de trabalho no excel e insira os dados conforme mostrado na Figura 1:

Figura 1

A figura 2 mostra que a tabela contendo as colunas Código, Produto e Preço simulam um pequeno banco de dados, e que a parte colorida na planilha mostra a interface com o usuário, onde o mesmo digitará o código e a quantidade desejada, obtendo como resultado a descrição do produto, o preço unitário e o preço total, após realizar a busca no banco de dados.

 Figura 2

A boa prática nos diz que devemos separar a interface com o usuário dos dados, ou seja, que o recomendado seria que o banco de dados estivesse em outra planilha na mesma pasta de trabalho do Excel ou que estivesse em outra pasta de trabalho do Excel. No nosso caso, para fins didáticos, deixaremos o banco de dados e a interface com o usuário na mesma planilha Excel.

A próxima etapa é selecionar o banco de dados inteiro e nomeá-lo com TabelaProduto, conforme animação abaixo



Em seguida devemos escrever na célula C9 o código mostrado na figura 3.

Figura 3

 Para a célula D9 escreveremos o código mostrado na Figura 4

Figura 4

Por fim, na célula E9 escrevemos o código exibido na Figura 5

Figura 5

Agora é só testar inserindo códigos dos produtos e as quantidades desejadas nos campos de busca, conforme mostrado na Figura 6


Figura 6



Validação de Dados

Olá amigos!

Neste artigo vamos informar um pouco sobre o que é a validação de dados no Excel, como aplicar este recurso e como utilizar um pouco de VBA para brincar com as listas de seleção.


O que é validação de dados?


Trata-se de um recurso do Excel que pode ser usado para definir restrições em quais dados podem ou devem ser inseridos em uma célula. Podemos utilizar este recurso para impedir que os usuários insiram dados inválidos, ou podemos permitir que os usuários insiram dados inválidos, mas avisá-los quando tentarem digitar estes tipos de dados na célula. Também podemos fornecer mensagens para definir a entrada esperada para a célula, além de instruções para ajudar os usuários a corrigir erros.




Como aplicar este recurso




No exemplo que faremos no final do texto aplicaremos a validação de dados nas células destacadas em amarelo, mostradas na Figura 1:




Figura 1



Agora selecione as células em amarelo e vá para o grupo Dados, em seguida clicar em Validação de Dados (círculo vermelho mostrado na Figura 2)






Figura 2



Se tudo foi feito corretamente, será exibida a janela mostrada na Figura 3. Aqui podemos configurar o Critério de validação (que valores serão permitidos nas células), a Mensagem de Entrada (mensagem exibida quando a(s) célula(s) forem selecionadas e o Alerta de erro (Mensagem que será exibida quando o usuário inserir dados inválidos). Antes de seguir para o nosso exemplo, vamos falar mais a respeito do recurso de validação de dados.




Figura 3


A janela de validação de dados possui 3 abas, chamadas de Configurações, Mensagem de Entrada e Alerta de erro.
Em Configurações, podemos alterar os critérios de validação, onde podemos permitir (Figura 4):
  • Que qualquer valor seja inserido na célula (Figura 5);
  •  Permitir que números inteiros sejam inseridos nas células, onde podemos refinar definindo se os dados inseridos deverão estar entre um intervalo definido, ou ser maior do que um determinado número, etc. (Figura 6);
  • Permitir que números decimais sejam inseridos nas células, de forma semelhante a permissão para inserir números inteiros.
  •  Permitir inserir nas células dados pertencentes a uma lista (usaremos listas no nosso exemplo);
  • Permitir que datas sejam inseridos nas células;
  • Permitir que horas sejam inseridos nas células;
  • Permitir que textos sejam inseridos, onde poderá ser definido o comprimento do mesmo;
  • Critérios de validação personalizados, onde poderíamos definir nossa própria lógica de validação;

Figura 4

Figura 5

Figura 6

Em Mensagem de entrada podemos definir ser haverá ou não mensagem quando as células forem selecionadas, o título mostrado na mensagem de entrada e o corpo da mensagem (Figura 7).

Figura 7

Já em Alerta de erro, podemos fazer com que o Excel exiba mensagem de erro caso os dados inseridos nas células não atendam os critérios definidos  em Configurações (Figura 8).

Figura 8

E agora o nosso exemplo


Conforme informado anteriormente, primeiro aplicaremos a validação de dados nas células destacadas em amarelo na Figura 1, onde o critério de validação será uma lista Um, Dois, Três e Quatro.
Vá em Validação de Dados, Configurações e em Permitir: escolha a opção Lista (Figura 9).

Figura 9

Na caixa de texto abaixo de Fonte: escreva Um; Dois; Três; Quatro (Figura 10). O ponto-e-vírgula separa os elementos da lista.

Figura 10

Agora quando uma das células em amarelo for selecionada aparecerá ao lado uma seta, onde ao clicar aparecerá uma lista com valores informados na validação.

O objetivo agora é criar uma Macro que insira uma cópia do valor inserido na célula a partir da lista na mesma linha, porém em uma coluna mais a direita, registrando o histórico de valores selecionados, conforme animação abaixo


Para isso, vá para o editor do VBA e insira o código abaixo:


Feito isso é só testar e ver que ao selecionar um valor na lista em uma das células amarelas, o valor escolhido será inserido a direita, mantendo o histórico dos valores selecionados.