Você está na página 1de 6

Como usar uma VBA no Excel

Muitas e muitas vezes voc j deve ter se perguntado sobre o que de fato , ou para que serve uma VBA
(ou Visual Basic for Application). Pois bem, o VBA pode assustar aparentemente com seus muitos
comando e cdigos, mas no to difcil quanto possa parecer. Estes comandos e cdigos, por sua vez,
permitem criar uma espcie de programao a fim de encontrar uma soluo de maneira mais
significativa em seus formulrios e objetos.

ADICIONANDO A ABA DESENVOLVEDOR
De acordo com as configuraes do Excel, possvel adicionarmos
mais uma aba junto as demais. Esta aba, chamada
de Desenvolvedor, praticamente uma extenso da opo Macros,
localizada na aba Exibio, e serve para adicionar, editar e configurar
Macros (ou VBAs). Ento, para adicionarmos esta aba ao menu de
ferramentas, devemos proceder da seguinte forma:

1 - V ao boto do Office, localizado no canto superior esquerdo, e
clique em Opes do Excel.


2 - Na janela de opes, marque Mostrar guia Desenvolvedor na
Faixa de Opes e confirme emOK.

3 - E perceba que a aba Desenvolvedor estar junto as demais.

NOO SOBRE OS COMANDOS DO VBA
Antes de pensar em usar algum comando VBA, devemos ter algumas
noes bsicas referente aos objetos usados com mais frequncia:
Range: refere-se a uma clula particular do
Excel. Exemplo: Range(?a2?).Value=3
Cells: uma outra maneira de se referir a uma clula particular do
Excel. Exemplo: Cells(2,2).Value=6
Worksheets: refere-se a uma planilha, objeto particular do
Excel. Exemplo: Worksheets(?Plan3?).Select
Worksheetfunction: chama as funes disponvel do
Excel. Exemplo: Worksheetfunction.Fact(3)
MsgBox: mostra uma mensagem no Excel. Exemplo: MsgBox
Application.Name
?: mostra um resultado, varivel, etc, Na Janela
Imediata. Exemplo: a=Worksheetfunction.Fact(3)?a6
TIPOS DE DADOS DO VBA
Veja agora tipos de dados contidos nos VBAs a fim de poder
identific-los quando encontrares algumas formulaes prontas.
Byte: armazena inteiros sem sinais entre 0 e 225.
Boolean: armazena Verdadeiro ou Falso.
Integer: armazena inteiros entre -32.768 e 32.767.
Long: armazena inteiros entre -2.147.483.648 e 2.147.483.647.
Cuurency: armazena inteiros na escala de 10.000 entre -
922.337.203.685.477,5808 e .337.203.685.477,5807.
Single: armazena nmeros de ponto flutuante entre -3,402823E38 e
-1,401298E-45 para valores negativos, e entre 1,401298E-45 e
3,402823E38 para valores positivos.
Double: armazena nmeros de pontos flutuantes entre -
1,79769313486231E308 e -4,94065645841247E-324 para valores
negativos, e entre 4,94065645841247E-324 e
1,79769313486232E308 para valores positivos.
Date: armazena datas (nmeros de pontos flutuantes) entre 1 de
Janeiro de 100 e 31 de Dezembro de 9999 e tempo entre 0:00:00 e
23:59:59.
String: armazena string de caracteres. Existem duas espcies de
strings:
o Strings de tamanhos variveis: podem conter at 2.000 milhes
(2^31) de caracteres.
o Strings de tamanho fixo: podem conter entre 1 e 64 KB (2^16)
caracteres.
Object: armazena endereos que se referem a outros objetos.
Variant (predeterminada): tipo de dado default para cada varivel
que no no declarada como de qualquer outro tipo.
User defined type: tipo de dado criado pelo usurio.
USANDO O EDITOR DO VISUAL BASIC
Este editor serve para gravar, adicionar e configurar projetos VBA.
Alm de uma vasta gama de outras opes, possvel optar por qual
planilha se quer introduzir a VBA, tanto como ajustar suas
propriedades, Alfabtico e Categorizado.
A internet nos disponibiliza hoje infinitos exemplos e comandos de
VBA, voltados diversas finalidades. Portanto, para que entendas o
funcionamento desta ferramenta, iremos fazer uma tarefa bem
simples. Para isso, suponha que desejamos que venha uma caixa de
mensagem (MsgBox) ao usurio, quando este alterar uma clula,
avisando-o que a mesma foi modificada. Veja como proceder:
1 - Primeiramente, devemos gravar uma pequena Macro, para isso
clique na primeira clula da planilha e selecione Gravar Macro na
aba Desenvolvedor;

D o nome de Alterar para a Macro e confirme;

Sem clicar em nenhum outro lugar da tela, apenas digite qualquer letra
e d um ENTER; aps, clique emParar de Gravar.

2 - Selecione a clula editada da planilha e, tambm na
aba Desenvolvedor, selecione Visual Basic.

3 - Ir abrir uma janela do Visual Basic. Nela, d um duplo clique
em Plan1 na lista ao lado e, caso no aparea automaticamente,
selecione nos cones de seleo em cima da caixa de
texto, Woorksheet no primeiro, e Change no segundo ? conforme a
imagem.

Observao: ao ser selecionado Woorsheet no primeiro cone de
seleo, ser adicionado automaticamente a
opo SelectionChange ao segundo, junto com seu respectivo
comando; porm, queremos a opo que contenha somente Change,
portanto, deve-se troc-la e excluir o comando no nos serve.
4 - Faa com que a caixa de texto fique com o seguinte comando:


PrivateSub Worksheet_Change(ByVal Target As Range)
MsgBox "A clula " & Target.Address & " foi alterada!"
End Sub

Onde: o nome do Objeto (Worksheet) seguido de um sinal
de underline (_) e o nome do evento(Change), correspondem a
denominao do comando; os argumentos seguintes (ByVal Target
As Range) so os parmetros de entrada do evento com os quais um
programador possa trabalhar; Sub e End Sub, significam,
respectivamente, o incio e fim da ao (devem estar presentes em
todos os comando que fores realizar).

5 - Depois de colocado o comando, clique no cone , localizado
acima da caixa de texto, este responsvel por executar a Macro. Na
janela que surgir selecione a Macro criada anteriormente e execute-a.

6 - O comando ser executado a partir da macro selecionada, e lhe
retornar a mensagem de clula alterada para a primeira clula da
planilha que foi modificada.

7 - Clique em OK e voltars para a pgina do Visual Basic. Pronto o
comando, pode fech-la. Agora, basta adicionar qualquer dado
planilha e vers, que a cada clula editada, retornar a mensagem de
alterao da mesma.

Agora que voc j possui as noes de utilizao do VBA, solte sua
imaginao e crie novos comandos. Em prximos tutoriais
mostraremos mais formas de utilizar usar esta incrvel ferramenta.
Aproveite e v exercitando suas habilidades com Excel junto as outras
funes aprendidas nos demais tutoriais.