Buscar

Treinamento Avançado em Excel

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 98 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 98 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 98 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

capa_contra.p65 16/6/2004, 17:391
indice.p65 17/6/2004, 10:441
© 2004 b© 2004 b© 2004 b© 2004 b© 2004 by Digy Digy Digy Digy Digerererererati Booksati Booksati Booksati Booksati Books
Todos os direitos reservados e protegidos pela Lei 5.988 de 14/12/1973.
Nenhuma parte deste livro, sem autorização prévia por escrito da
editora, poderá ser reproduzida ou transmitida sejam quais forem
os meios empregados: eletrônicos, mecânicos, fotográficos, grava-
ção ou quaisquer outros.
DirDirDirDirDiretor Editoretor Editoretor Editoretor Editoretor Editorialialialialial
Luis Matos
EditorEditorEditorEditorEditora-assistentea-assistentea-assistentea-assistentea-assistente
Monalisa Neves
RedatorRedatorRedatorRedatorRedatoraaaaa
Sandra Rita Pinto
PrPrPrPrPreparepareparepareparação e Reação e Reação e Reação e Reação e Revisãovisãovisãovisãovisão
Beatriz Utsumi
Capa e PrCapa e PrCapa e PrCapa e PrCapa e Projeto Gráfojeto Gráfojeto Gráfojeto Gráfojeto Gráficoicoicoicoico
Daniele Oliveira
ArArArArArtetetetete
Patricia Fernandez Ferrari
SuporSuporSuporSuporSuporte te te te te Técnico e Técnico e Técnico e Técnico e Técnico e Atendimento ao LeitorAtendimento ao LeitorAtendimento ao LeitorAtendimento ao LeitorAtendimento ao Leitor
suporte@digerati.com.br
(11) 3217-2626
DigDigDigDigDigerererererati Comati Comati Comati Comati Comunicação e unicação e unicação e unicação e unicação e TTTTTecnologecnologecnologecnologecnologia Ltda.ia Ltda.ia Ltda.ia Ltda.ia Ltda.
Rua Haddock Lobo, 347 – 12º Andar
CEP 01414-001 São Paulo/SP
(11) 3217-2600 Fax (11)3217-2617
www.digerati.com
DirDirDirDirDiretoretoretoretoretoreseseseses
Alessandro Gerardi – (gerardi@digerati.com.br)
Luis Afonso G. Neira – (afonso@digerati.com.br)
Alessio Fon Melozo – (alessio@digerati.com.br)
ISBN: 85-89535-38-X
Treinamento Avançado em Excel
indice.p65 17/6/2004, 10:442
Prefácio
“Você faz uma vez e o Excel faz o resto por você”. Era com esse
bordão que eu iniciava minhas explicações sobre o Microsoft Excel
durante as aulas que ministrava.
Passados alguns anos, continuo certo de que não existe no mer-
cado nenhuma ferramenta de produtividade – incluindo as “made
in Microsoft” – tão completa quanto o Excel. Com ele, você precisa
apenas gastar algumas horas projetando os cálculos e estruturando
as informações, para que depois o software faça tudo automatica-
mente, mediante um simples comando. Até parece mágica...
O Treinamento Avançado em Excel integra uma lista de títulos
lançados pela Digerati Books que inclui os livros 101 Dicas de Excel
Vol. I e II, Desvendando o Microsoft Excel e Universidade Excel.
Este livro, no entanto, tem uma proposta diferenciada: além de abor-
dar os novos recursos do Excel 2003 e a criação de funções, abor-
da, em profundidade, a criação de macros no Excel.
As macros permitem gravar seqüências de procedimentos, de
modo que você possa executar uma série de ações repetidas vezes,
no momento em que desejar. Por isso, elas são responsáveis pela
automatização da maior parte das atividades de quem lida com da-
dos e cálculos. Por meio da linguagem VBA (Visual Basic for
Applications), as macros permitem que sejam desenvolvidas novas
funcionalidades dentro do Excel, fazendo com que o programa se
torne muito mais do que uma simples ferramenta de produtividade,
ganhando, inclusive, o status de ferramenta de desenvolvimento.
É a esse recurso altamente sofisticado que você será apresentado
nas próximas páginas. Aproveite para familiarizar-se com ele, para,
em pouco tempo, poder colocar o Excel no “piloto automático”, guar-
dando seu tempo livre para coisas mais interessantes...
Luis Matos
luismatos@digerati.com.br
 Diretor Editorial
indice.p65 17/6/2004, 10:443
Índice
CAPÍTULO 01
Algumas novidades na versão XP .......................... 09
Localizando planilhas ................................... 09
Exibindo detalhes ......................................... 10
Cabeçalhos e rodapés................................... 11
Diagramas ..................................................... 12
Inserindo novas caixas ........................... 13
Formatando as caixas do seu diagrama .. 13
Alterando o layout .................................. 14
Alinhamento de células ................................ 14
Botão AutoSoma ........................................... 15
Desenhando bordas ...................................... 15
A área de transferência ................................. 16
CAPÍTULO 02
Funções ............................................................... 17
Disponibilizando funções....................... 17
Funções de texto .......................................... 18
Função PROCURAR................................ 18
Função LOCALIZAR ............................... 19
Funções ESQUERDA e LOCALIZAR ........ 19
Funções matemáticas ................................... 19
Função SUBTOTAL ................................. 19
Funções estatísticas ...................................... 21
Função FREQÜÊNCIA ............................ 21
Funções de data e hora ................................ 23
Função DATADIF .................................... 23
Funções de informações .............................. 24
indice.p65 17/6/2004, 10:444
Juntando mais de uma categoria de funções ...... 24
Função PROCV ....................................... 24
CAPÍTULO 03
Gerando gráficos automáticos ............................... 28
Procurando dados específicos ............... 29
Criando o gráfico.......................................... 30
CAPÍTULO 04
Noções de macro .................................................. 33
Macro para classificar dados em uma planilha .. 33
Formas de executar uma macro ................... 35
Teclas de atalho ...................................... 35
Comandos .............................................. 35
Criando botões na planilha .................... 36
Macro para encontrar subtotais .................... 36
Macros de endereços absolutos / relativos ... 37
Macros com endereços absolutos .......... 38
Editando a macro ................................... 38
Macros com endereços relativos ............ 39
Entendendo o código ............................. 40
CAPÍTULO 05
O editor do Visual Basic no Excel .......................... 41
A janela do editor do Visual Basic ................. 41
Módulos ................................................. 43
Objetos ................................................... 43
Eventos da planilha ................................ 44
indice.p65 17/6/2004, 10:445
CAPÍTULO 06
Exibindo mensagens ao usuário ............................ 47
Função MSGBOX .......................................... 47
Outros exemplos de mensagem ................... 48
Capturando respostas do usuário ................. 49
Função INPUTBOX ................................ 50
Adicionando comentários ao código............ 51
CAPÍTULO 07
Criando um formulário no VBA ............................. 52
Criando um formulário................................. 52
A barra de ferramentas do formulário .......... 53
Inserindo um controle ................................. 55
Criando um formulário simples ............. 55
Alterando o nome dos controles .................. 56
A propriedade Caption........................... 56
Alterando os controles do formulário .......... 56
Inserindo uma imagem .......................... 57
Alterando a ordem dos controles ........... 58
Preparando o ambiente dos dados ......... 58
Preparando a tabela de veículos........ 59
Associando Veículos com o controle ... 59
Exibindo o formulário ............................ 60
Exibindo o preço do veículo ........................ 61
Descarregando o formulário da memória 61
indice.p65 17/6/2004, 10:446
CAPÍTULO 08
Manipulando células .............................................62
Métodos de manipulação de células ............. 62
Verificando a área selecionada ............... 62
Inserindo fórmulas em uma célula ......... 63
O método Select e a propriedade Selection .. 63
Exemplos de utilização do método Range ... 63
Propriedade Offset ................................. 67
Atribuindo valores às células da planilha ..... 67
CAPÍTULO 09
Variáveis de memória ............................................ 69
Conceito de variáveis de memória ............... 69
Regras para nomeação em VBA .................... 69
Como definir variáveis ................................. 70
Declarando variáveis .................................... 71
Escopo das variáveis ..................................... 72
Variáveis do nível do procedimento ....... 73
Variável do nível de módulo ................... 73
Variáveis de nível global ......................... 73
Tipos de variável .......................................... 73
CAPÍTULO 10
Estruturas de programação.................................... 75
indice.p65 17/6/2004, 10:447
Estruturas condicionais ................................ 75
As estruturas If ....................................... 75
A estrutura Case Select ........................... 78
Estruturas de looping ................................... 79
Estrutura Do ... Loop .............................. 79
Estrutura For ... Next .............................. 80
Estrutura For Each ... Next...................... 81
Outros exemplos de criação de loops .... 82
Listando arquivos existentes .................. 82
Usando estrutura Do ... Until .................. 83
CAPÍTULO 11
Criando funções .................................................... 84
CAPÍTULO 12
Personalizando o sistema ...................................... 87
Limpeza dos dados para novo cadastramento 87
Criando uma barra de ferramentas ............... 88
Criando uma barra de menus internos ... 89
Anexando uma barra de ferramentas ao arquivo. 89
Anexando macros a botões .......................... 90
Códigos para ativar a barra de ferramentas .. 90
Ocultando a barra de ferramentas ................ 91
Posição de uma barra de ferramentas........... 92
Desabilitando um item da barra ................... 93
Inicializando o sistema ................................. 93
Finalizando seu sistema de cadastro ............. 94
Posicionando o cursor no 1°- registro em branco 94
Ativando o controle spiParcelas ............. 95
A obra completa ..................................... 95
indice.p65 17/6/2004, 10:448
Algumas novidades na versão XP 9
Algumas novidades na versão XP
Tem novidade no Excel XP? Tem, sim, senhor! A quinta versão
do mais enigmático dos aplicativos do Office traz aqueles pequeno-
grandes aperfeiçoamentos de praxe. Conheça, neste capítulo, as ino-
vações relacionadas à localização de planilhas, cabeçalhos e rodapés
e diagramas. Não se esqueça, é claro, da estréia dos novos botões de
AutoSomaAutoSomaAutoSomaAutoSomaAutoSoma e BordasBordasBordasBordasBordas.
• LOCALIZANDO PLANILHAS
Muitas vezes geramos arquivos que depois de algum tempo não
lembramos onde guardamos. Para resolver esse problema, podemos
solicitar ao Excel que faça uma pesquisa em nosso computador.
Como? Veja nos passos a seguir:
Clique no menu ArArArArArquivquivquivquivquivo o o o o > P P P P Pesquisaresquisaresquisaresquisaresquisar.
Aparecerá uma caixa de diálogo do lado direito da tela. Preencha-a
da seguinte forma:
TTTTTeeeeexto de pesquisa:xto de pesquisa:xto de pesquisa:xto de pesquisa:xto de pesquisa:Digite nesse campo o texto que está
tentando localizar.
PPPPPesquisar em:esquisar em:esquisar em:esquisar em:esquisar em: Selecione o local (pasta) em que deseja pesquisar.
O ideal é escolher a opção Meu Computador Meu Computador Meu Computador Meu Computador Meu Computador (como na figura a
seguir), dessa forma, serão verificados disquetes, CDs, redes e pastas.
1
Algumas novidades na versão XP
cap_01.p65 16/6/2004, 17:409
10 Treinamento avançado em Excel
Os resultados devem ser:Os resultados devem ser:Os resultados devem ser:Os resultados devem ser:Os resultados devem ser: Nesta, que é a última opção do menu,
podemos escolher o tipo de arquivo que queremos pesquisar –
podem ser arquivos de Word, Excel e Access (ou seja, qualquer
arquivo do pacote Office), ou mesmo figuras.
Para iniciar a pesquisa, pressione o botão PPPPPesquisaresquisaresquisaresquisaresquisar.....
• EXIBINDO DETALHES
cap_01.p65 16/6/2004, 17:4010
Algumas novidades na versão XP 11
Em versões anteriores ao Windows XP, para ocultar ou visualizar alguns
detalhes existentes na planilha, utilizávamos o menu Ferramentas Ferramentas Ferramentas Ferramentas Ferramentas >
OpçõesOpçõesOpçõesOpçõesOpções, habilitando ou desabilitando os itens desejados. A partir da versão
XP, o processo tornou-se muito mais rápido e podemos utilizar o menu
ExibirExibirExibirExibirExibir, que fornece as seguintes opções:
• Barra de fórmulas;
• Painel de tarefas;
• Barra de status.
• CABEÇALHOS E RODAPÉS
Nas versões anteriores do Excel, para inserir cabeçalhos era
necessário clicar em ExibirExibirExibirExibirExibir > ConfConfConfConfConfigurigurigurigurigurararararar > CaCaCaCaCabeçalho/Rodapébeçalho/Rodapébeçalho/Rodapébeçalho/Rodapébeçalho/Rodapé.
Nessa guia era possível selecionar um tipo de cabeçalho ou rodapé
entre os pré-definidos, ou incluir um novo, clicando no botão
PPPPPererererersonalizar casonalizar casonalizar casonalizar casonalizar cabeçalhobeçalhobeçalhobeçalhobeçalho.
A partir da versão XP, podemos agilizar essa tarefa no menu Exibir Exibir Exibir Exibir Exibir >
CaCaCaCaCabeçalho e rbeçalho e rbeçalho e rbeçalho e rbeçalho e rodapéodapéodapéodapéodapé, e criar um novo cabeçalho por meio do mesmo
botão – PPPPPererererersonalizar casonalizar casonalizar casonalizar casonalizar cabeçalho beçalho beçalho beçalho beçalho –, o qual oferece algumas opções
que já existiam nas versões anteriores, e outras que são novidades
da versão XP:
 Formata os caracteres selecionados, alterando fonte, tamanho,
cor e estilo dos mesmos.
 Insere o código [&Página], o qual, no momento da impressão,
é substituído pelo número da página atual.
 Insere o código [&Páginas], o qual, no momento da impressão,
é substituído pelo número total de páginas existentes na planilha.
 Insere o código [&Data], o qual, no momento da impressão, é
substituído pela data da impressão.
 Insere o código [&Hora], o qual, no momento da impressão, é
substituído pela hora da impressão.
cap_01.p65 16/6/2004, 17:4011
12 Treinamento avançado em Excel
 (*) Insere o código &[Caminho]&[Arquivo], o qual, no momento
da impressão, é substituído pelo caminho e nome da planilha atual.
Insere o código &[Arquivo], o qual, no momento da impressão, é
substituído pelo nome do arquivo.
 Insere o código &[Guia], o qual, no momento da impressão, é
substituído pelo nome da guia da planilha atual.
 (*) Insere o código &[Figura], o qual, no momento da impressão,
é substituído por uma figura pré-selecionada.
 (*) Formata a figura selecionada, permitindo alterar sua largura e
altura, ou mesmo recortá-la.
(*) Comandos incorporados a partir da versão XP.
• DIAGRAMAS
Para inserir diagramas no Excel, clique em Inserir Inserir Inserir Inserir Inserir > Diagramas Diagramas Diagramas Diagramas Diagramas e
siga estes passos:
Escolha o tipo de diagrama que preferir.1
Clique na caixa desejada e digite o texto que quer inserir.2
cap_01.p65 16/6/2004, 17:4012
Algumas novidades na versão XP 13
Inserindo novas caixas
Também é possível inserir novas caixas em seu diagrama. Para isso,
faça o seguinte:
Clique na caixa que deseja reproduzir.
Em seguida, clique no botão InserInserInserInserInserir fir fir fir fir forororororma.ma.ma.ma.ma. Isso fará com que a
nova caixaseja inserida logo abaixo da caixa selecionada.
Tendo feito isso, basta digitar o texto desejado.
Formatando as caixas do seu diagrama
Para dar uma aparência pessoal aos seus diagramas, a nova versão
do Excel oferece opções especiais:
Dê um duplo clique sobre a caixa que deseja personalizar.
Aparecerá a caixa de diálogo de formatação, na qual é possível
fazer as seguintes alterações:
1
2
3
1
2
cap_01.p65 16/6/2004, 17:4013
14 Treinamento avançado em Excel
FFFFFonteonteonteonteonte – – – – – permite alterar tamanho, cor, estilo e efeitos da fonte, além
dela própria.
Alinhamento – Alinhamento – Alinhamento – Alinhamento – Alinhamento – permite alterar o alinhamento do texto dentro
da caixa.
CorCorCorCorCores e Linhas – es e Linhas – es e Linhas – es e Linhas – es e Linhas – permite alterar as cores de preenchimento,
da linha (moldura) da caixa e das setas (quando existentes).
TTTTTamanho – amanho – amanho – amanho – amanho – permite dimensionar, girar e alterar a escala da caixa.
Proteção – Proteção – Proteção – Proteção – Proteção – (*) permite bloquear a caixa e o texto existente nela.
MarMarMarMarMargggggens – ens – ens – ens – ens – permite alterar as margens do texto dentro da caixa.
WWWWWeb – eb – eb – eb – eb – em alguns navegadores irá exibir um texto alternativo
para facilitar a pesquisa de objetos, mas no caso de figuras, esse
texto é ignorado.
(*) Para que este comando seja executado, é necessário proteger
a planilha.
Alterando o layout
Para alterar o layout das caixas, siga estes passos:
Selecione a caixa desejada.
Dê um clique no botão LaLaLaLaLayyyyyoutoutoutoutout.
Escolha um dos layouts existentes.
Outra maneira de alterar o layout é simplesmente clicar no bo-
tão mostrado na figura:
1
2
3
• ALINHAMENTO DE CÉLULAS
Para alinhar rapidamente uma ou mais células, podemos
utilizar os botões .
A partir da versão XP, encontramos também algumas opções de
alinhamento no menu FFFFFororororormatar matar matar matar matar > Células Células Células Células Células > AlinhamentoAlinhamentoAlinhamentoAlinhamentoAlinhamento. São elas:
HorHorHorHorHorizontal – izontal – izontal – izontal – izontal – altera o alinhamento horizontal (da esquerda para
a direita) do conteúdo de uma célula.
cap_01.p65 17/6/2004, 10:3514
Algumas novidades na versão XP 15
VVVVVererererertical – tical – tical – tical – tical – altera o alinhamento vertical (de cima para baixo) do
conteúdo de uma célula.
ContrContrContrContrControle de teole de teole de teole de teole de texto – xto – xto – xto – xto – esta opção oferece três possibilidades:
RetorRetorRetorRetorRetorno automático de teno automático de teno automático de teno automático de teno automático de texto – xto – xto – xto – xto – alinha o texto em mais de uma linha;
Reduzir parReduzir parReduzir parReduzir parReduzir para ajustar – a ajustar – a ajustar – a ajustar – a ajustar – reduz o tamanho da fonte para que todo
o conteúdo da célula seja apresentado dentro dela;
MescMescMescMescMesclar células – lar células – lar células – lar células – lar células – alinha o texto em mais de uma célula ao mes-
mo tempo, recurso bastante utilizado para casos em que os títulos
estão na primeira linha.
OrOrOrOrOrientação – ientação – ientação – ientação – ientação – permite rotacionar o texto dentro da célula.
DirDirDirDirDireção do teeção do teeção do teeção do teeção do texto –xto –xto –xto –xto – permite alterar a ordem de leitura dos dados exis-
tentes na célula, que pode ser da esquerda para a direita ou o contrário.
• BOTÃO AUTOSOMA
A partir da versão XP, podemos selecionar um conjunto de célu-
las com valores e ativar o botão AAAAAutoSoma utoSoma utoSoma utoSoma utoSoma .
Para facilitar o trabalho, foram incorporadas as funções mais uti-
lizadas na criação de fórmulas, tais como SOMA, MÉDIA, CONTAR,
MÁXIMO E MÍNIMO, entre outras.
• DESENHANDO BORDAS
Nas versões anteriores do Excel, só era possível criar bordas com
linhas na cor preta e praticamente com a mesma espessura. Quem
quisesse modificar esse padrão tinha de utilizar o menu Formatar Formatar Formatar Formatar Formatar >
CélulasCélulasCélulasCélulasCélulas > BorBorBorBorBordasdasdasdasdas. No Windows XP, além das bordas convencionais,
encontramos a opção Desenhar borDesenhar borDesenhar borDesenhar borDesenhar bordasdasdasdasdas. Assim, podem-se criar bordas
com os seguintes passos:
cap_01.p65 16/6/2004, 17:4015
16 Treinamento avançado em Excel
Fórmulas – Fórmulas – Fórmulas – Fórmulas – Fórmulas – cola a última fórmula que foi copiada na planilha.
VVVVValoraloraloraloralores – es – es – es – es – cola o valor da célula, ou seja, ignora a fórmula e inse-
re somente o resultado do cálculo.
Sem bordas – Sem bordas – Sem bordas – Sem bordas – Sem bordas – cola a fórmula na célula atual e ignora a borda formatada.
TTTTTrrrrranspor – anspor – anspor – anspor – anspor – cola as células em posição inversa. Suponha, por exem-
plo, que você tenha selecionado várias células que estejam dispostas em
uma linha; na transposição, as mesmas células serão coladas, só que
agora dispostas em colunas.
Colar vínculo – Colar vínculo – Colar vínculo – Colar vínculo – Colar vínculo – cola o vínculo do arquivo, ou seja, insere a fór-
mula, bem como todo o caminho utilizado para a sua criação. Dessa
forma, ao atualizar os dados da planilha de origem, a planilha de
destino é atualizada.
Colar especial – Colar especial – Colar especial – Colar especial – Colar especial – cola os dados como um objeto.
3
• A ÁREA DE TRANSFERÊNCIA
Para colar um objeto utilizamos o botão , o qual insere na po-
sição atual do cursor o conteúdo da área de transferência. Na ver-
são XP foram incorporadas novas tarefas ao botão:
Clique no botão Cor da linha:Cor da linha:Cor da linha:Cor da linha:Cor da linha:
Aparecerá um lápis indicando que deve ser riscada a célula na qual
desejamos criar a linha:
Ative o botão Desenhar bordasDesenhar bordasDesenhar bordasDesenhar bordasDesenhar bordas.
Clique no botão Estilo da linha:Estilo da linha:Estilo da linha:Estilo da linha:Estilo da linha:
1
2
cap_01.p65 16/6/2004, 17:4016
Funções 17
Funções
As funções são o centro nervoso do Excel. Não, não se trata de recursos
que causam chiliques a torto e a direito. Muito pelo contrário: é por meio
das funções que conseguimos agilizar cálculos e elaborar planilhas sofisti-
cadas. E há funções para todo tipo de operação. Desde as somas mais
simples até intrincadas fórmulas estatísticas, esse é o caminho das pedras!
Neste capítulo, trataremos de uma parte muito importante do
Excel: as funções avançadas de texto, matemática, estatística e de data
e hora. Afinal de contas, por mais que se trabalhe com uma ferramenta,
há sempre alguma coisa a aprender! Aqui, você vai aprender a:
• Adicionar novas funções ao Excel por meio de suplementos;
• Localizar textos e códigos em células;
• Trabalhar com duas ou mais funções em uma só;
• Efetuar outros cálculos usando a função SUBTOTAL;
• Efetuar cálculos estatísticos com a função FREQÜÊNCIA;
• Identificar as mensagens de erro apresentadas em funções.
O Microsoft Excel possui cerca de 329 funções, divididas nas seguin-
tes categorias:
• Financeiras
• Data e hora
• Matemática e trigonométrica
• Estatística
• Procura e referência
• Banco de dados
• Texto
• Lógica
• Informações
Disponibilizando funções
Algumas funções podem não estar disponíveis quando você quiser
usá-las, sendo necessário torná-las disponíveis. Para isso, basta clicar em
FerramentasFerramentasFerramentasFerramentasFerramentas > SuplementosSuplementosSuplementosSuplementosSuplementos. Surgirá a seguinte tela:
cap_02.p65 16/6/2004, 17:3917
18 Treinamento avançado em Excel
Habilite a caixa de seleção Ferramentas de análise Ferramentas de análise Ferramentasde análise Ferramentas de análise Ferramentas de análise para que todas as
funções fiquem disponíveis. Para inserir funções, utilize o botão de InserirInserirInserirInserirInserir
funçãofunçãofunçãofunçãofunção . . . . . Confira, agora, algumas funções interessantes:
• FUNÇÕES DE TEXTO
Função PROCURAR
Imagine que você queira localizar uma determinada seqüência de
caracteres existente em uma célula – por exemplo, o código de um
produto que esteja na mesma célula em que está o nome do produto,
como no exemplo a seguir:
Para isso, você pode utilizar a função PROCURAR, que possui a
seguinte sintaxe:
=PROCURAR(texto a localizar;célula com o texto;nº inicial)
Em que:
TTTTTeeeeexto a localizarxto a localizarxto a localizarxto a localizarxto a localizar – é o texto que você deseja localizar. Se o conteúdo
a procurar for um número, basta digitá-lo diretamente dentro dos parênte-
ses, sem nenhuma formatação. Para procurar o valor R$ 2500,00, por
exemplo, digite apenas 2500. Se o conteúdo não for numérico (por exem-
plo, o símbolo #), você deve digitá-lo entre aspas (“”).
cap_02.p65 16/6/2004, 17:3918
Funções 19
Célula com o textoCélula com o textoCélula com o textoCélula com o textoCélula com o texto – é o endereço da célula em que o símbolo,
valor ou texto deve ser procurado.
NNNNNooooo- inicial- inicial- inicial- inicial- inicial – é o parâmetro no qual você pode especificar a partir
de qual caractere a pesquisa deve ser iniciada. É possível, por exemplo,
procurar o símbolo # a partir da posição 20. Caso você não especifique
o número inicial, o Excel vai considerar que a pesquisa deve ser iniciada
a partir do primeiro caractere (11111).
No exemplo a seguir, o Excel vai localizar o símbolo # dentro do
conteúdo da célula A2:
Função LOCALIZAR
Outra função que faz pesquisa de caracteres é a LOCALIZAR.
A diferença entre ela e a função PROCURAR é que a segunda faz distinção
entre maiúsculas e minúsculas, enquanto a LOCALIZAR não faz:
Usando a função ESQUERDA com a função LOCALIZAR
A função ESQUERDA retorna um número X de caracteres a partir
de um determinado texto, da esquerda para a direita. O número de
caracteres X é você quem especifica.
Suponha que, na tabela da figura a seguir, você queira retirar apenas
a descrição dos produtos. A melhor maneira de fazer isso é usar conjun-
tamente as funções ESQUERDA e LOCALIZAR:
• FUNÇÕES MATEMÁTICAS
Função SUBTOTAL
Essa função retorna um subtotal em um banco de dados, podendo execu-
tar a soma, a média, o mínimo e o máximo, entre outras operações, em uma
lista de dados. A sintaxe da função SUBTOTAL é a seguinte:
cap_02.p65 16/6/2004, 17:3919
20 Treinamento avançado em Excel
=SUBTOTAL (número da função; células a calcular)
Em que:
Número da funçãoNúmero da funçãoNúmero da funçãoNúmero da funçãoNúmero da função – é um número entre 1 e 11 que especifica qual
função deve ser usada para calcular o subtotal. No Excel, cada função
corresponde a um número, como mostra a tabela a seguir:
Número da funçãoNúmero da funçãoNúmero da funçãoNúmero da funçãoNúmero da função FunçãoFunçãoFunçãoFunçãoFunção
11111 MÉDIA
22222 CONTA
33333 CONT.VALORES
44444 MÁX
55555 MÍN
66666 MULT
77777 DESVPAD
88888 DESVPADP
99999 SOMA
1010101010 VAR
1111111111 VARP
Veja um exemplo de utilização da função SUBTOTAL:
cap_02.p65 16/6/2004, 17:3920
Funções 21
Nessa tabela, as células B13:B16 trazem os valores das faixas de
preço: a primeira faixa vai até R$ 15.000,00; a segunda faixa vai de R$
15.001,00 até R$ 25.000,00; e assim por diante. Veja que, apesar de isso
não aparecer diretamente nos valores das células, a faixa posterior não
inclui o último valor da faixa anterior – por exemplo, a segunda faixa
não inclui o valor R$ 15.000,00, mas sim o valor seguinte, que é de R$
15.001,00. Vejamos, agora, como fazer para saber a freqüência de cada
uma dessas faixas de preço no Excel:
Defina as faixas de dados que deseja analisar. No nosso exemplo,
elas foram criadas nas células B13:B16.
Selecione as células adjacentes à coluna com as faixas de dados
(C13:C17).
Clique sobre o botão Inserir funçãoInserir funçãoInserir funçãoInserir funçãoInserir função . Será aberta esta janela:
1
2
3
Função FREQÜÊNCIA
Calcula a freqüência de determinados valores dentro de um intervalo
de valores, retornando uma matriz. Imagine que você tenha, por exemplo,
uma representação de veículos, e queira saber o número de modelos, por
cidade, que se encaixam em determinadas faixas de preço – isto é, a fre-
qüência dessas faixas de preço entre os modelos de carros. Esse exemplo
pode ser observado na tabela da figura a seguir:
• FUNÇÕES ESTATÍSTICAS
cap_02.p65 16/6/2004, 17:3921
22 Treinamento avançado em Excel
Selecione a função FREQÜÊNCIA e dê OKOKOKOKOK.
Na caixa de diálogo que aparecer, clique no botão com a seta ver-
melha ao lado do primeiro campo. Na planilha, selecione a área que
contém os dados a serem analisados (B2:E11):
4
5
Na janela que aparecer, clique no botão com a seta vermelha, no
primeiro campo, para voltar à tela de inserção da função FREQÜÊNCIA.
Agora clique no botão com a seta vermelha ao lado do segundo campo.
Na planilha, selecione as células que contêm as faixas de dados que vão
servir de base para o cálculo (B13:B16).
Pressione as teclas Ctrl + Shift + Enter para que sejam inseridos os
valores correspondentes a cada uma das faixas. Não use a tecla Enter sozi-
nha, ou o resultado será inserido somente na primeira célula:
6
7
cap_02.p65 16/6/2004, 17:3922
Funções 23
• FUNÇÕES DE DATA E HORA
Função DATADIF
Para calcular a diferença entre duas datas, levando em conta o
número de dias, meses ou anos, use a função DATADIF, que possui a
seguinte sintaxe:
=DATADIF(data_inicial;data_final;tipo de diferença desejado)
Na qual tipo de diferença desejado pode ser representado como:
A seguir, veja um exemplo de uso da função DATADIF com diferen-
tes formatos para o retorno do valor:
Unidade Retorno
 “Y” O número de anos completos entre a data inicial e a
data final.
 “M” O número de meses completos entre a data inicial e a
data final.
 “D” O número de dias completos entre a data inicial e a
data final.
 “MD” A diferença entre as datas inicial e final, sendo que
meses e anos são ignorados.
 “YD” A diferença entre as datas inicial e final, sendo que
dias e anos são ignorados.
cap_02.p65 16/6/2004, 17:3923
24 Treinamento avançado em Excel
• JUNTANDO MAIS DE UMA CATEGORIA DE FUNÇÕES
Função PROCV
A função PROCV efetua uma pesquisa no sentido vertical em uma
tabela de dados, retornando um dado existente em qualquer uma das
colunas. Sua sintaxe é:
=PROCV(valor procurado;matriz_tabela_número índice coluna)
Ou seja:
=PROCV(o que pesquisar;área a pesquisar;número da coluna
a trazer)
Imagine a seguinte tabela:
• FUNÇÕES DE INFORMAÇÕES
As funções de informações são aquelas que analisam fórmulas e condi-
ções e respondem com VERDADEIRO ou FALSO. Elas são bastante úteis
para verificar o tipo de conteúdo de determinadas células, se estão vazias
ou não, se estão preenchidas com textos ou números etc. A tabela a seguir
mostra exemplos das principais funções lógicas:
cap_02.p65 16/6/2004, 17:3924
Funções 25
1 Nomeie a área com o catálogo dos filmes como FITAS, selecionando as
células e indo ao menu InserirInserirInserirInserirInserir > Nome Nome Nome Nome Nome > DefinirDefinirDefinirDefinirDefinir; ou então digitando o
nome diretamente na Caixa de nomeCaixa de nomeCaixa de nomeCaixa de nomeCaixa de nome e pressionando Enter.
Crie a tabela com os dados das vendas.
Posicione o cursor na célula D4 (ou na célula em que quiser que
apareça o resultado da busca).
Clique no botão Inserir função Inserir função Inserir funçãoInserir função Inserir função . .
Selecione as funções de ProcuraProcuraProcuraProcuraProcura e ReferênciaReferênciaReferênciaReferênciaReferência.
2
3
4
5
6
7
Clique sobre a função PROCVPROCVPROCVPROCVPROCV e dê OKOKOKOKOK.
Insira os argumentos da função, conforme o exemplo abaixo:
Para verificar qual é o nome de determinado filme (título), siga estes passos:
cap_02.p65 16/6/2004, 17:3925
26 Treinamento avançado em Excel
Pressione OKOKOKOKOK; com isso, será informado o nome do filme que você
está procurando. Copie para as células abaixo.
Experimente alterar o código do filme para ver o Excel preencher
os campos automaticamente.
Se o usuário por acaso escolher um filme que não existe na lista, o
Excel vai retornar este erro:
8
9
Para evitar esse tipo de problema, podemos criar uma combinação
com as funções lógicas SE, ÉERROS e PROCV, como mostra a explica-
ção a seguir:
Vamos começar conhecendo a sintaxe de cada uma das três fun-
ções que vamos usar:
=SE (condição; faça caso condição verdadeira; faça caso condi-
ção falsa)
=ÉERROS(fórmula)
=PROCV(valor procurado; local a procurar; coluna desejada)
Para juntar as três funções, devemos construir uma expressão com
esta sintaxe:
=SE(ÉERRROS (PROCV)); exiba 0; exiba o resultado de PROCV)
1
2
cap_02.p65 16/6/2004, 17:3926
Funções 27
Deixe o cursor no primeiro PROCV (título do filme) e pressione o
botão Inserir funçãoInserir funçãoInserir funçãoInserir funçãoInserir função para editar o conteúdo da fórmula, pois agora
você vai adicionar as funções SE e ÉERROS.
Para inserir novas funções, utilize a área com a Caixa de nomeCaixa de nomeCaixa de nomeCaixa de nomeCaixa de nome,
que agora exibe a última função utilizada:
3
4
5
6
Utilize a função SE, inserindo os dados mostrados na figura:
Editando a função com a Caixa de nomeCaixa de nomeCaixa de nomeCaixa de nomeCaixa de nome, você pode ir de uma
função a outra com um clique sobre a Barra de fórmulasBarra de fórmulasBarra de fórmulasBarra de fórmulasBarra de fórmulas:
cap_02.p65 16/6/2004, 17:3927
28 Treinamento avançado em Excel
Gerando gráficos automáticos
O que todo mundo quer, hoje em dia, é poder apertar um único
botão e, com isso, resolver todos os problemas. Nada de errado nis-
so, pelo menos em se tratando de gerenciamento de dados. Que tal
construir gráficos que se atualizem automaticamente quando a ta-
bela de dados for alterada? Que tal ter à mão um sistema que varra
a sua planilha e gere um gráfico a partir dos dados de que você
precisa? Excelente, não? E o melhor: não é difícil. Ao menos, não
com os recursos oferecidos pelo Excel.
Veja como construir um gráfico dinâmico que incorpore recur-
sos de formulários e lista de dados:
Crie, em uma planilha em branco, a seguinte tabela de dados:1
Selecione as células com os nomes das publicações (A3:A8) e
nomeie esse intervalo como PRODUTOS.
Selecione todos os dados (A2:G8) e nomeie esse intervalo
como VENDAS.
Vá até a Plan2 e inclua nela estes dados:
2
3
4
Ative a barra de ferramentas de formulários com o comando
ExibirExibirExibirExibirExibir > BarBarBarBarBarrrrrra de fa de fa de fa de fa de ferererererrrrrramentasamentasamentasamentasamentas > FFFFFororororormmmmmuláruláruláruláruláriosiosiosiosios.
5
Gerando gráficos automáticos
cap_03.p65 16/6/2004, 17:3928
Gerando gráficos automáticos 29
Insira um controle de caixa de combinação, clicando neste botão:6
Agora você precisa ativar as propriedades do controle que aca-
bou de criar. Para isso, clique nele com o botão direito do mouse, dê
um clique sobre a opção FFFFFororororormatar contrmatar contrmatar contrmatar contrmatar controleoleoleoleole, e, depois, preencha os
campos da janela como mostra a figura:
7
Procurando dados específicos
Ainda usando o mesmo documento do Excel que você criou,
vamos procurar alguns dados específicos, como, por exemplo, o
nome de determinado produto. Isso pode ser feito usando-se a fun-
ção ÍNDICE, que tem a seguinte sintaxe:
=ÍNDICE(área a ser varrida; nº da linha; nº da coluna)
Os nomes dos produtos estão no intervalo de células PRODU-
TOS; portanto, essa é a área que deve ser varrida. A linha que você
procura é aquela na qual foi vinculado o controle de caixa de com-
binação – logo, trata-se do resultado existente em C3. Dessa forma,
a função para verificar o nome do produto deverá ser:
cap_03.p65 16/6/2004, 17:3929
30 Treinamento avançado em Excel
Se, em vez do nome de um produto, você quiser verificar os dados de
JAN, basta aplicar esta fórmula:
Repare que, para os meses, você deve alterar apenas o número
da coluna. Assim, quando for selecionar uma nova publicação, aparece-
rão os dados referentes às vendas expressas nessa coluna.
• CRIANDO O GRÁFICO
Para criar um gráfico com os dados da planilha, comece selecio-
nando as duas linhas que contêm os dados da venda, ou seja, a linha
que apresenta os nomes dos meses e a linha que traz os valores das
vendas. Feito isso, você já pode ativar o assistente de gráficos para
criar um gráfico do tipo “pizza”, seguindo este passo-a-passo:
Selecione os dados.
Clique no botão Assistente de gAssistente de gAssistente de gAssistente de gAssistente de gráfráfráfráfráficoicoicoicoico.
1
2
cap_03.p65 16/6/2004, 17:3930
Gerando gráficos automáticos 31
Clique na opção de gráfico do tipo “pizza”.3
4 Clique no botão AAAAAvvvvvançarançarançarançarançar.
Defina a opção SérSérSérSérSéries emies emies emies emies em como LinhasLinhasLinhasLinhasLinhas e clique em AAAAAvvvvvançarançarançarançarançar.5
Desabilite a opção Mostrar legendaMostrar legendaMostrar legendaMostrar legendaMostrar legenda na guia LegendaLegendaLegendaLegendaLegenda.6
cap_03.p65 16/6/2004, 17:3931
32 Treinamento avançado em Excel
Na guia Rótulo de dadosRótulo de dadosRótulo de dadosRótulo de dadosRótulo de dados, habilite as opções PorcentagemPorcentagemPorcentagemPorcentagemPorcentagem e NomeNomeNomeNomeNome
da categoriada categoriada categoriada categoriada categoria.
7
Pressione AAAAAvvvvvançarançarançarançarançar e, na tela que surgir, selecione a opção
Como objeto emComo objeto emComo objeto emComo objeto emComo objeto em, para que o gráfico seja posicionado como um
objeto na planilha.
8
A cada vez que você selecionar um produto diferente, o Excel irá
criar um novo gráfico, de acordo com os dados selecionados.
9
cap_03.p65 16/6/2004, 17:3932
Algumas novidades na versão XP 33
Noções de macro
Imagine ter de digitar as mesmas informações todos os dias, a cada
15 minutos. Veja: isso não é uma obra de ficção. Para quem trabalha com
serviços financeiros e administrativos – ou seja, 90% do pessoal do escri-
tório de uma empresa –, esse tipo de situação pode ser realmente roti-
neiro. Mas, felizmente, existem as macros, pequenas aplicações que po-
dem nos ajudar a economizar muito tempo e poupar nossa paciência.
Neste capítulo, você verá que o sonho da rapidez no trabalho é possível.
Uma macro nada mais é do que uma seqüência de comandos arma-
zenada em um botão. Usando macros, você pode gerar gráficos com
configurações especiais, aplicar cálculos extensos repetidas vezes, entre
muitos outros procedimentos, apenas clicando em um botão. Basta
criar macros bem elaboradas.
Neste capítulo, você vai deparar freqüentemente com o termo VVVVVisualisualisualisualisual
Basic fBasic fBasic fBasic fBasic for or or or or AAAAApplicationspplicationspplicationspplicationspplications, o famoso VBVBVBVBVBAAAAA, que é uma linguagem de progra-
mação voltada para aplicativos. O VBA vem incorporado ao Office, e, por
isso, pode ser utilizado em qualquer aplicativo desse pacote, como o MS
Excel, o MS Word, o MS Access etc.. Todo código gerado no VBA é compi-
lado, e, por esse motivo, executa loops (laços) de programação rapida-
mente. Outravantagem de utilizar o VBA é que o código gerado pode ser
lido em qualquer aplicativo Microsoft, garantindo uma padronização no
modo de programação.
• MACRO PARA CLASSIFICAR DADOS EM
UMA PLANILHA
Para entender um pouco sobre macros, nada melhor do que partir
para a prática e criar uma macro simples. Por enquanto, você vai seleci-
onar a ação para a sua macro a partir de uma lista pré-definida. No caso,
vamos criar uma macro para classificar os dados mostrados na planilha
a seguir:
Noções de macro
cap_04.p65 16/6/2004, 17:3833
34 Treinamento avançado em Excel
A sua macro vai se chamar CLASSIFICA. Posicione o cursor em
qualquer célula e vá ao menu FerramentasFerramentasFerramentasFerramentasFerramentas > Macro >Macro >Macro >Macro >Macro > Gravar novaGravar novaGravar novaGravar novaGravar nova
macromacromacromacromacro, para acessar esta tela:
1
Digite o nome da macro (CLASSIFICA) e observe as opções
disponíveis:
Nome da macro Nome da macro Nome da macro Nome da macro Nome da macro – Procure escolher um nome significativo, e que tenha
a ver com a função que a macro vai executar.
TTTTTecececececla de atalho la de atalho la de atalho la de atalho la de atalho – solicita ao MS Excel que rode todas as macros por meio
de teclas de atalho (por exemplo, Ctrl + C). Mas, cuidado com essa opção,
pois, se existir algum comando que utilize as mesmas teclas, ele será
desabilitado, e a macro passará a funcionar em seu lugar.
Armazenar macro em Armazenar macro em Armazenar macro em Armazenar macro em Armazenar macro em – as tarefas a ser executadas são arquivadas em um
determinado local. Esse local pode ser a Pasta pessoal de macrosPasta pessoal de macrosPasta pessoal de macrosPasta pessoal de macrosPasta pessoal de macros, que irá
criar um arquivo Pessoal.XLS (uma pasta oculta que permanecerá na pasta
de inicialização do MS Excel); uma Nova pasta de trabalhoNova pasta de trabalhoNova pasta de trabalhoNova pasta de trabalhoNova pasta de trabalho, que irá criar
um arquivo (planilha) para armazenar somente a macro e a última opção;
2
cap_04.p65 16/6/2004, 17:3834
Algumas novidades na versão XP 35
ou a pasta de trabalho atual (opção Esta pasta de trabalhoEsta pasta de trabalhoEsta pasta de trabalhoEsta pasta de trabalhoEsta pasta de trabalho), que faz com
que o arquivo de macros seja armazenado juntamente com a planilha atual.
Escolhendo essa última opção, se a planilha atual for movida ou copiada
para um outro local, as macros irão junto com ela.
Ao pressionar OKOKOKOKOK, todos os comandos a ser executados na planilha
serão armazenados. Por isso, fique atento: se você cometer algum erro,
pode ser mais fácil excluir a macro e começar tudo de novo do que
tentar consertar o erro.
Posicione o cursor no primeiro registro da tabela (célula B5) e
utilize o menu DadosDadosDadosDadosDados > ClassifClassifClassifClassifClassificaricaricaricaricar. Escolha, primeiro a opção PPPPPaísaísaísaísaís, e, em
seguida, ProdutoProdutoProdutoProdutoProduto.
Depois de fazer a classificação, pressione o botão Parar gravaçãoParar gravaçãoParar gravaçãoParar gravaçãoParar gravação.
3
4
5
• FORMAS DE EXECUTAR UMA MACRO
Uma vez que você já tenha criado a sua macro, como fazer para
rodá-la? É simples. Você pode usar as teclas de atalho – selecionadas
durante o desenvolvimento da macro –, comandos, ou botões.
Teclas de atalho
Para rodar uma macro usando teclas de atalho, basta pressionar as
teclas definidas na hora da sua criação.
Comandos
Para acessar o comando que apresenta as macros disponíveis,
faça o seguinte:
Pressione as teclas Alt + F8.
Dê um clique no nome da macro que quer executar e pressione o
botão ExExExExExecutarecutarecutarecutarecutar.
1
2
cap_04.p65 16/6/2004, 17:3835
36 Treinamento avançado em Excel
Criando botões na planilha
Outra maneira de executar a macro é criar um botão para ela:
Ative a barra de ferramentas de formulários em ExibirExibirExibirExibirExibir > Barra deBarra deBarra deBarra deBarra de
ferramentasferramentasferramentasferramentasferramentas > FormuláriosFormuláriosFormuláriosFormuláriosFormulários.
Dê um clique na opção Botão de comandosBotão de comandosBotão de comandosBotão de comandosBotão de comandos.
1
2
Clique e arraste sobre a planilha no ponto em que deseja criar o
botão. O Excel exibirá uma lista com as macros existentes. Clique sobre
a macro que você quer associar ao botão:
3
Para alterar o texto do botão, basta clicar dentro dele e editar o texto:4
• MACRO PARA ENCONTRAR SUBTOTAIS
Vamos criar, ainda na mesma planilha em que você gravou a macro
para classificação por País e Produto, uma segunda macro, para encon-
trar o subtotal de cada país. Siga estes passos:
Ative a gravação de novas macros, indo ao menu FerramentasFerramentasFerramentasFerramentasFerramentas >
MacrosMacrosMacrosMacrosMacros > Gravar nova macroGravar nova macroGravar nova macroGravar nova macroGravar nova macro.
1
cap_04.p65 16/6/2004, 17:3836
Algumas novidades na versão XP 37
Nomeie a macro como SUBTOTAIS e dê OKOKOKOKOK.
Posicione o cursor sobre o primeiro registro (B5) e clique em
DadosDadosDadosDadosDados > SubtotaisSubtotaisSubtotaisSubtotaisSubtotais.
Pressione OKOKOKOKOK e calcule um novo subtotal, agora por produto. Des-
ta vez, não se esqueça de desabilitar a opção Substituir subtotais atu-Substituir subtotais atu-Substituir subtotais atu-Substituir subtotais atu-Substituir subtotais atu-
aisaisaisaisais. Dê OKOKOKOKOK.
2
3
Para executar a macro, desative os subtotais criados, indo ao menu
DadosDadosDadosDadosDados > SubtotaisSubtotaisSubtotaisSubtotaisSubtotais e pressionando o botão Remover todosRemover todosRemover todosRemover todosRemover todos e, em se-
guida, OKOKOKOKOK.
5
4
6 Crie um botão para a execução dessa macro:
• MACROS DE ENDEREÇOS ABSOLUTOS / RELATIVOS
No tópico anterior, você criou duas macros. Se reparar nas referên-
cias que essas macros fazem às células que contêm as fórmulas, vai
perceber que esses endereços são absolutos. O que isso quer dizer? Por
exemplo: ao selecionarmos o intervalo de células A1:F4 e alterarmos o
estilo para negrito, sempre que executarmos a macro, o mesmo endere-
ço, tendo conteúdo ou não, será alterado para negrito. Ou seja, uma
cap_04.p65 16/6/2004, 17:3837
38 Treinamento avançado em Excel
Para visualizar o efeito da macro que você acabou de criar, execute-
a várias vezes. Você irá perceber que o cursor insere o nome, o endereço
e o telefone sempre na mesma linha (22222).
Editando a macro
Para editar a macro, use o comando FerramentasFerramentasFerramentasFerramentasFerramentas > MacrosMacrosMacrosMacrosMacros. Na
janela que aparecer, dê um clique sobre o nome da macro desejada e
pressione o botão EditarEditarEditarEditarEditar.
Se preferir usar teclas de atalho para abrir o Editor do Visual Basic,
basta pressionar Alt + F11.
Editando a macro ABSOLUTOS no editor do Visual Basic, você verá
estas instruções:
Posicione o cursor em A2 e ative o gravador de macros.
Nomeie a macro como ABSOLUTOS e dê OKOKOKOKOK.
Digite seu nome e pressione a tecla Tab.
Digite seu endereço e, novamente, pressione Tab.
Digite seu telefone e pare a gravação da macro.
1
2
3
4
5
macro com endereço absoluto será executada sempre na mesma posi-
ção na planilha.
Já uma macro com endereço relativo pode atuar sobre outras célu-
las que não a que serviu originalmente como base. Portanto, quando
precisamos executar um procedimento em várias células da planilha, o
melhor a fazer é utilizar um endereço relativo.
Macros com endereços absolutos
Para entender a diferença entre os dois tipos de endereços, digite a
planilha abaixo:
cap_04.p65 16/6/2004, 17:3838
Algumas novidades na versão XP 39
Macros com endereços relativos
Vamos, agora, criar uma macro com endereço relativo. Para isso, sigaestes passos:
Apague o conteúdo da linha 2 para gravar uma nova macro.
Posicione o cursor na célula A2 e grave uma nova macro com o
nome RELATIVOS.
Observe que, assim que o gravador de macros for iniciado, apare-
cerá na tela uma pequena barra de ferramentas com dois botões:
1
2
3
4
5
6
7
8
9
10
Clique sobre o botão Referência relativaReferência relativaReferência relativaReferência relativaReferência relativa .....
Na célula A2, digite seu nome e pressione a tecla Tab.
Em B2, digite seu endereço e pressione Tab.
Em C2, digite seu telefone.
Pressione a seta para baixo para passar para a linha de baixo.
Posicione o cursor sob a célula que contém o seu nome (A3).
Pare a gravação da macro. Execute a macro várias vezes e observe a
diferença entre o comportamento dela e o da macro ABSOLUTOS.
cap_04.p65 16/6/2004, 17:3839
40 Treinamento avançado em Excel
11
ComandoComandoComandoComandoComando DescriçãoDescriçãoDescriçãoDescriçãoDescrição
ActiveCell Célula ativa.
ActiveCell.Select Seleciona a célula ativa.
ActiveCell.FormulaR1C1=”Sandra” Insere, na célula ativa, o
conteúdo Sandra.
ActiveCell.Offset(0,1) Desloca o cursor 0 linhas
para baixo e uma coluna
para a direita.
ActiveCell.Offset(1,-2) Desloca o cursor uma
linha para baixo e duas
colunas para a esquerda.
Entendendo o código
Edite a macro no editor do Visual Basic (Alt + F11). Você verá as
seguintes instruções:
cap_04.p65 16/6/2004, 17:3840
O editor do Visual Basic no Excel 41
O editor do Visual Basic no Excel
As macros realmente facilitam a vida, não? E o que vimos até
aqui é apenas o começo. Se você quiser se aventurar pelo mundo
da automatização de processos, vale a pena dedicar algum tempo
ao estudo do Visual Basic. Neste capítulo, apresentaremos uma vi-
são geral sobre o editor do VB que vem embutido no MS Excel. Com
um pouco de perseverança, você poderá fazer parte daquele seleto
clube de pessoas que dizem: “Fazer o relatório estatístico dessas
dez planilhas? É simples: espera um minutinho que eu crio uma
macro para isso...”
A primeira coisa a fazer é familiarizar-se com o ambiente de tra-
balho oferecido pelo editor do Visual Basic. Só para lembrar, para
abrir o editor basta pressionar Alt + F11 ou ir ao menu FFFFFerererererrrrrramen-amen-amen-amen-amen-
tastastastastas > MacrMacrMacrMacrMacrososososos > Editor do Editor do Editor do Editor do Editor do VVVVVisual Basicisual Basicisual Basicisual Basicisual Basic. Se preferir abrir a tela do
editor do VBA diretamente para uma macro que já exista no seu
documento, você pode ir até FFFFFerererererrrrrramentasamentasamentasamentasamentas > MacrMacrMacrMacrMacrososososos > MacrMacrMacrMacrMacrooooo, clicar
sobre o nome da macro a ser editada, e depois no botão EditarEditarEditarEditarEditar.
• A JANELA DO EDITOR DO VISUAL BASIC
O editor do Visual Basic
no Excel
cap_05.p65 16/6/2004, 17:3841
42 Treinamento avançado em Excel
ProjetoProjetoProjetoProjetoProjeto – Nesta janela, encontramos a hierarquia do projeto que
está sendo editado. Ela mostra o nome do arquivo de projeto (*.xls), as
planilhas que ele contém etc.. Ou seja, a janela ProjetoProjetoProjetoProjetoProjeto permite visualizar
os objetos da aplicação atualmente aberta (pasta de trabalho, docu-
mentos e módulos). Caso não esteja visualizando essa área, pressione
o botão ou tecle Ctrl + R. Nessa janela existem ainda três ícones
que permitem alterar o modo de visualização da estrutura:
Abre uma tela (página) com os módulos (rotinas) de classe da aplicação.
Exibir código Exibe a janela de módulo que contém
o código em VBA que está associado ao
objeto selecionado.
Alterna entre a janela do Editor do Vi-
sual Basic e a janela original da aplica-
ção, com o objeto selecionado.
Exibir objeto
Alternar entre pastas Faz com que a exibição da janela PrPrPrPrPro-o-o-o-o-
jetojetojetojetojeto alterne entre a hierarquia dos ob-
jetos e uma lista simples dos mesmos.
Na janela PrPrPrPrProjetoojetoojetoojetoojeto, repare que há vários ícones diferentes. O signifi-
cado deles está na tabela a seguir:
Permite a abertura de todos os objetos
de uma pasta de trabalho, como
planilhas, formulários, módulos etc..
Pasta1 é o nome do arquivo que está
sendo editado no momento; quando o
arquivo é salvo, o nome é substituído
pelo que você escolher.
É a referência à pasta de trabalho que está
aberta no momento. Mostra também to-
dos os eventos (procedimentos) perten-
centes a essa pasta, tais como abertura
de arquivo, fechamento de arquivo etc.
Exibe a folha de código com as rotinas
para a planilha específica.
Abre uma tela com os códigos existen-
tes para a criação de rotinas (macros)
diversas para essa pasta de trabalho.
cap_05.p65 17/6/2004, 10:3842
O editor do Visual Basic no Excel 43
PropriedadesPropriedadesPropriedadesPropriedadesPropriedades – mostra o nome do módulo em uso e suas proprie-
dades atuais. Esta janela se divide em duas seções, uma com as proprie-
dades em ordem alfabética, e outra com as mesmas propriedades sepa-
radas por categorias de comandos.
MóduloMóduloMóduloMóduloMódulo – esta janela exibe o módulo atual. Módulo é a unidade
básica de um código em VBA, e funciona como se fosse um local em
que são armazenadas todas as macros criadas. Podemos também
descrever módulo como uma seqüência de instruções que ensina
ao MS Excel o que fazer.
Área de trabalho Área de trabalho Área de trabalho Área de trabalho Área de trabalho – trata-se da área disponível para a manipulação
dos módulos.
Módulos
Na tabela que acabamos de mostrar, falamos muito em módulomódulomódulomódulomódulo.
Como dissemos, um módulo é como um local em que são armaze-
nadas todas as macros criadas. Todo módulo possui procedimentos,
que são as normas para a condução da tarefa.
No VBA, todos os procedimentos devem começar com a instru-
ção SUB ou FUNCTION. Para entender melhor, observe o código da
macro ABSOLUTOS, que você criou no começo deste capítulo:
Abre o formulário criado pelo usuário.
Abre uma tela (página) com os
módulos (rotinas) de classe da aplicação.
cap_05.p65 17/6/2004, 10:3843
44 Treinamento avançado em Excel
Objetos
Outro conceito importante na programação com VBA é o de
objetos. Temos vários objetos dentro de um aplicativo: por exem-
plo, uma barra de ferramentas, uma planilha aberta, uma caixa de
texto etc.. Portanto, um objeto é um elemento controlável por meio
da linguagem VBA, e que é utilizado na execução de tarefas.
No VBA, quando você se refere a um objeto, na verdade está se
referindo a uma coleção de objetos que inclui o objeto em si. As-
sim, a referência deve conter primeiramente o nome da coleção à
qual o objeto pertence, e depois qual o item específico. Veja alguns
exemplos de referências a objetos no VBA:
Os objetos organizam-se em uma hierarquia. No topo dela en-
contra-se o objeto AAAAApplicationpplicationpplicationpplicationpplication, que, no nosso caso, é o próprio Excel.
Abaixo de AAAAApplicationpplicationpplicationpplicationpplication, em ordem decrescente de nível hierárqui-
co, aparecem os objetos WWWWWorororororkbookkbookkbookkbookkbook, AddInAddInAddInAddInAddIn, DialogDialogDialogDialogDialog, MenMenMenMenMenuBaruBaruBaruBaruBar, TTTTToolBaroolBaroolBaroolBaroolBar,
WWWWWindoindoindoindoindowwwww, e assim por diante. Para nos referir a um deles, precisamos
informar a que coleção pertence o objeto e qual é esse objeto:
WWWWWorororororkSheets(“Plan1.xls”)kSheets(“Plan1.xls”)kSheets(“Plan1.xls”)kSheets(“Plan1.xls”)kSheets(“Plan1.xls”) Coleção de objetos WWWWWorororororksheetksheetksheetksheetksheet (plani-
 lhas), referindo-se ao objeto Plan1.
RangRangRangRangRange(“e(“e(“e(“e(“A1:C3”).SelectA1:C3”).SelectA1:C3”).SelectA1:C3”).SelectA1:C3”).SelectColeção de objetos RangRangRangRangRangeeeee que se
 refere às áreas.
WWWWWorororororkBookskBookskBookskBookskBooks Coleção de objetos WWWWWooooorrrrrksksksksksbookbookbookbookbook pas-
 tas de trabalho.
O tipo mais comum de referência é aquele feito a uma planilha ou a
células de uma planilha. Tanto planilhas quanto células são objetos ativos.
A tabela a seguir mostra os objetos ativos no MS Excel:
cap_05.p65 16/6/2004, 17:3844
O editor do Visual Basic no Excel 45
Sub AlteraExibição() Início da macro (procedimento)
 With ActiveWindow Com a janela ativa
 .DisplayGridlines = False Não exibir linhas de grades
 .DisplayHeadings = False Não exibir cabeçalhos de linhas/colunas
 .Zoom = 75 Zoom de 75%
 End With Finaliza a janela ativa
End Sub Finaliza a macro
ActiveCellActiveCellActiveCellActiveCellActiveCell ActiveChartActiveChartActiveChartActiveChartActiveChart
ActivActivActivActivActiveDialogeDialogeDialogeDialogeDialog ActivActivActivActivActiveXeXeXeXeX
ActivActivActivActivActiveMeneMeneMeneMeneMenuBaruBaruBaruBaruBar ActivActivActivActivActivePePePePePanelanelanelanelanel
ActivActivActivActivActivePrePrePrePrePrinterinterinterinterinter ActivActivActivActivActiveSheeteSheeteSheeteSheeteSheet
ActivActivActivActivActiveWeWeWeWeWindoindoindoindoindowwwww ActivActivActivActivActiveWeWeWeWeWorororororkbookkbookkbookkbookkbook
Experimente, por exemplo, digitar as seguintes instruções logo
abaixo do código da sua macro:
Sub AlteraExibição()
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
.Zoom = 75
End With
End Sub
Para que a macro seja executada na janela de códigos, utilize o
botão ou a tecla F5. Ao voltar para a planilha, você verá que a
macro realizou as seguintes tarefas:
Eventos da planilha
Para alterar eventos de planilha, selecione uma das planilhas na
janela PrPrPrPrProjetoojetoojetoojetoojeto e ative o objeto WWWWWorororororksheetksheetksheetksheetksheet, como mostra a figura:
cap_05.p65 16/6/2004, 17:3845
46 Treinamento avançado em Excel
Veja, na tabela a seguir, quais os principais eventos que podem ser
associados a uma planilha:
EventoEventoEventoEventoEvento Quando ocorreQuando ocorreQuando ocorreQuando ocorreQuando ocorre
ActivActivActivActivActivateateateateate Quando uma planilha é ativada.
BefBefBefBefBeforororororeDoubeDoubeDoubeDoubeDoubleClicleClicleClicleClicleClickkkkk Ao clicar duas vezes em uma planilha.
BefBefBefBefBeforororororeRightCliceRightCliceRightCliceRightCliceRightClickkkkk Ao clicar com o botão direito do mouse
sobre uma planilha.
CalculateCalculateCalculateCalculateCalculate Depois de toda a planilha ser recalculada.
ChangChangChangChangChangeeeee Quando as células das planilhas são
alteradas pelo usuário.
DeactivDeactivDeactivDeactivDeactivateateateateate Quando a planilha é desativada.
SelectionChangSelectionChangSelectionChangSelectionChangSelectionChangeeeee Quando a seleção é alterada em uma
planilha.
cap_05.p65 16/6/2004, 17:3846
Exibindo mensagens ao usuário 47
Exibindo mensagens ao usuário
As caixas de mensagem funcionam como a voz do programa, o
meio de comunicação entre o aplicativo e a pessoa que o está utili-
zando. São elas que avisam ao usuário quando acontece algum erro,
permitem que ele escolha o que fazer a seguir, ou mesmo abrem
espaço para que ele passe dados ao programa.
O VBA oferece modelos prontos de caixa de mensagem; basta
escolher o tipo adequado e configurá-lo. Com isso, você consegue
facilmente guiar o usuário para que ele aproveite completamente o
documento do Excel que você criou. Afinal de contas, quem não se
comunica se estrumbica!
• FUNÇÃO MSGBOX
É possível criar macros que exibam mensagens na tela, para in-
formar o usuário sobre alguma operação que tenha sido executada,
alertá-lo sobre erros etc. Só que, diferentemente do que temos feito
até agora, a mensagem em si não pode ser criada apenas ligando o
gravador de macros. Ela deve ser inserida como parâmetro para a
função MSGBOX, que tem a seguinte sintaxe:
MSGBOX “Mensagem”, tipo da caixa, “Título”
Em que:
Mensagem Mensagem Mensagem Mensagem Mensagem – é a mensagem que deverá aparecer na caixa. O texto
deve ser digitado entre aspas, com tamanho máximo de 1024 caracteres.
Se você quiser que o texto apresentado seja o valor de uma variável,
digite o nome da variável, sem aspas.
TTTTTipo da caixa ipo da caixa ipo da caixa ipo da caixa ipo da caixa – define o tipo da caixa de diálogo (se será uma
informação, um alerta de erro etc.).
TítuloTítuloTítuloTítuloTítulo – Define o título da caixa de diálogo.
cap_06.p65 16/6/2004, 17:3847
48 Treinamento avançado em Excel
Para testar a exibição de mensagens com a função MSGBOX,
crie, na janela do Editor do Visual Basic, uma macro com as se-
guintes instruções:
Sub TestaMensagem()
 MsgBox “Esta mensagem só contém o prompt”
End Sub
Execute a macro pressionando a tecla F5. Você verá esta caixa
de mensagem:
• OUTROS EXEMPLOS DE MENSAGEM
Há vários tipos de caixa de mensagem. Vejamos agora um exem-
plo contendo um botão de OKOKOKOKOK. Este é o código da caixa:
Sub TestaMensagem2()
 MsgBox “Prompt - Texto da mensagem”, _
 vbExclamation + vbOKOnly,”VBOK é o tipo _
 de botão, e TITLE é o título”
End Sub
No código, repare no símbolo de underscore (_) no fim da segun-
da linha. Ele é usado para quebras de linha. Quando uma linha de
comando não couber na linha da tela, quebre-a com um underscore.
Assim, mantém-se a continuidade do comando. O resultado do códi-
go digitado é o seguinte:
cap_06.p65 17/6/2004, 10:3948
Exibindo mensagens ao usuário 49
• CAPTURANDO RESPOSTAS DO USUÁRIO
Na maioria das vezes, queremos que o usuário possa interagir
com a caixa de mensagem, escolhendo clicar em um botão ou inse-
rir algum dado. O VBA disponibiliza botões prontos para você in-
cluir na sua caixa de mensagem. Cada um deles tem um número
correspondente, bem como um código VBA. Veja quais são eles na
tabela a seguir:
BotãoBotãoBotãoBotãoBotão Número correspondenteNúmero correspondenteNúmero correspondenteNúmero correspondenteNúmero correspondente CódigCódigCódigCódigCódigo o o o o VBVBVBVBVBAAAAA
OKOKOKOKOK 1 VbOk
CancelarCancelarCancelarCancelarCancelar 2 VbCancel
AnAnAnAnAnularularularularular 3 VbAbort
RepetirRepetirRepetirRepetirRepetir 4 VbRetry
IgnorIgnorIgnorIgnorIgnorararararar 5 VbIgnore
SimSimSimSimSim 6 VbYes
NãoNãoNãoNãoNão 7 VbNo
O código a seguir gera uma caixa de mensagem com três bo-
tões: AnAnAnAnAnularularularularular, RepetirRepetirRepetirRepetirRepetir e IgnorIgnorIgnorIgnorIgnorararararar:
Sub TestaResposta ()
 Resposta = MsgBox(“Pressione um dos _
 botões abaixo:”, vbAbortRetryIgnore, _
 “ATENÇÃO!!”)
 If Resposta = 3 Then
 MsgBox “Você pressionou ANULAR.”
 End If
End Sub
Nessa caixa de mensagem, o usuário deve clicar em um dos
três botões:
BotãoBotãoBotãoBotãoBotão Número correspondenteNúmero correspondenteNúmero correspondenteNúmero correspondenteNúmero correspondente CódigCódigCódigCódigCódigo o o o o VBVBVBVBVBAAAAA
cap_06.p65 16/6/2004, 17:3849
50 Treinamento avançado em Excel
O código do botão selecionado pelo usuário será armazenado
em uma variável chamada Resposta. Se o usuário pressionar o botão
AnAnAnAnAnularularularularular, o valor armazenado na variável será 3, e será gerada uma
nova mensagem.
Função INPUTBOX
Um tipo de caixa de mensagem ainda mais interativo é aquele
em que o usuário pode inserir dados. Para isso, você pode usar a
função INPUTBOX. Vejamos um exemplo. O código
Sub Entrada()
 Resp = InputBox(“Qual é a palavra-chave?”)
 Range(“A1”) = Resp
End Sub
, faz com que apareça a caixa de mensagem a seguir, em que o usu-
ário deve inserir determinada palavra-chave:
Nesteoutro exemplo, temos uma caixa de diálogo em que o usuário
deve inserir um valor de salário:
cap_06.p65 16/6/2004, 17:3850
Exibindo mensagens ao usuário 51
• ADICIONANDO COMENTÁRIOS AO CÓDIGO
Comentários são trechos do código que não são executados, ser-
vindo apenas para manter uma documentação sobre ele. Eles são
muito úteis, inclusive para a própria pessoa que criou o código – por
exemplo, se você tiver que atualizar o programa depois de muito
tempo, vai ter condições de entender o que está expresso nele.
Para fazer com que um trecho do código seja um comentário no
VBA, basta colocar um apóstrofo (‘) no início da linha, como no
exemplo a seguir:
Sub Entrada()
 Resp = InputBox(“Qual é a palavra-
‘chave?”,”Senha”)
 ‘Armazena em Resp (variável) a resposta da
‘pergunta de INPUTBOX
 Range(“A2”) = Resp
 ‘Armazena na célula A1 a resposta existen
‘te na variável
End Sub
cap_06.p65 16/6/2004, 17:3851
52 Treinamento avançado em Excel
Criando um formulário no VBA
No dia-a-dia, não queremos nem ouvir falar em formulários: imedia-
tamente nos vem à mente qualquer idéia relacionada com burocracia...
Mas, na hora de criar interfaces de macros, inclusive no Excel, os formu-
lários são essenciais. Eles funcionam, grosso modo, como caixas de men-
sagem turbinadas – muito turbinadas. Com um formulário, você pode
coletar dados do usuário, pedir que ele escolha entre opções pré-exis-
tentes, entre muitas outras atividades interativas. E as informações reco-
lhidas podem ser usadas para preencher uma planilha, por exemplo.
Neste capítulo você vai aprender a criar e configurar formulários,
bem como associar os campos e controles deles com planilhas. Tudo
isso, claro, com os recursos do nosso velho conhecido VBA.
• CRIANDO UM FORMULÁRIO
No editor do Visual Basic do Excel, acesse o comando InserInserInserInserInseriririririr >
UserFormUserFormUserFormUserFormUserForm.
Você pode definir características como nome, cor, estilo de borda,
fonte de textos, entre outras, para o seu formulário. Para facilitar essas
configurações, ative a janela PropriedadesPropriedadesPropriedadesPropriedadesPropriedades com o comando ExibirExibirExibirExibirExibir >
JJJJJanela anela anela anela anela ‘Pr‘Pr‘Pr‘Pr‘Propropropropropriedades’iedades’iedades’iedades’iedades’, ou usando a tecla F4.
cap_07.p65 17/6/2004, 10:4052
Criando um formulário no VBA 53
Para que o usuário possa interagir com o formulário, você deve
incluir controles nele – isto é, botões, caixas de textos etc. A maneira
mais fácil de fazer isso é usar a opção ExibirExibirExibirExibirExibir > Caixa de ferramentasCaixa de ferramentasCaixa de ferramentasCaixa de ferramentasCaixa de ferramentas,
na qual basta clicar sobre o controle desejado para que ele passe a fazer
parte do formulário.
A tabela a seguir apresenta os controles que podem ser incluídos no
seu formulário:
ControleControleControleControleControle NomeNomeNomeNomeNome UtilidadeUtilidadeUtilidadeUtilidadeUtilidade
Selecionar objetosSelecionar objetosSelecionar objetosSelecionar objetosSelecionar objetos Permite selecionar um ou mais
objetos dentro do formulário.
RótuloRótuloRótuloRótuloRótulo Insere títulos e textos explicativos
dentro do formulário.
Caixa de textoCaixa de textoCaixa de textoCaixa de textoCaixa de texto Permite que o usuário insira da-
dos em um campo.
Caixa de combinaçãoCaixa de combinaçãoCaixa de combinaçãoCaixa de combinaçãoCaixa de combinação Utilizado para criar uma lista de
dados, permitindo a escolha de
um deles.
• A BARRA DE FERRAMENTAS DE FORMULÁRIOS
cap_07.p65 16/6/2004, 17:3753
54 Treinamento avançado em Excel
 Caixa de listagem Caixa de listagem Caixa de listagem Caixa de listagem Caixa de listagem Semelhante à caixa de combinação,
mas com a diferença de que os
dados são exibidos em mais de uma
linha ao mesmo tempo.
 Caixa de seleção Caixa de seleção Caixa de seleção Caixa de seleção Caixa de seleção Utilizado para criar uma opção
de seleção.
 Botão de opção Botão de opção Botão de opção Botão de opção Botão de opção Utilizado para criar um botão que
seleciona uma determinada opção.
 Botão de ativação Botão de ativação Botão de ativação Botão de ativação Botão de ativação Utilizado para criar um botão
que pode ser ativado ou não.
 Moldura Moldura Moldura Moldura Moldura Utilizado para criar uma moldu-
ra em volta de um conjunto de
controles, agrupando-os.
 Botão de comando Botão de comando Botão de comando Botão de comando Botão de comando Utilizado para criar um botão de
comando, como OKOKOKOKOK, CancelarCancelarCancelarCancelarCancelar,
SalvarSalvarSalvarSalvarSalvar etc.
 Faixa de tabulação Faixa de tabulação Faixa de tabulação Faixa de tabulação Faixa de tabulação Utilizado para apresentar um
conjunto de informações em fai-
xas separadas.
 Multipágina Multipágina Multipágina Multipágina Multipágina Utilizado para apresentar várias
guias de dados, cada uma com
informações diferentes. Você
pode, por exemplo, visualizar os
dados pessoais de um cliente em
uma guia, e os dados comerciais
em outra.
 Barra de rolagem Barra de rolagem Barra de rolagem Barra de rolagem Barra de rolagem Utilizado para criar uma barra
de rolagem no sentido horizon-
tal ou vertical.
 Barra de rotação Barra de rotação Barra de rotação Barra de rotação Barra de rotação Utilizado para incrementar valo-
res em controles de textos
(como número de prestações, %
de juros etc.).
 Imagem Imagem Imagem Imagem Imagem Utilizado para inserir imagens no
formulário. São aceitos formatos
como .jpg, .bmp, .ico, entre outros.
 RefEdit RefEdit RefEdit RefEdit RefEdit Utilizado para exibir o endereço de
um intervalo de células inserido ou
selecionado em planilhas.
cap_07.p65 16/6/2004, 17:3754
Criando um formulário no VBA 55
• INSERINDO UM CONTROLE
Agora que você já conhece os controles que podem ser inseridos
em um formulário, veja como incluí-los:
Na Caixa de ferramentasCaixa de ferramentasCaixa de ferramentasCaixa de ferramentasCaixa de ferramentas, dê um clique sobre o controle desejado.
Na janela UserFormUserFormUserFormUserFormUserForm, posicione o cursor sobre o ponto em que
deseja inseri-lo.
Clique e arraste o mouse sobre a tela para desenhar o controle.
Criando um formulário simples
A Caixa de ferramentasCaixa de ferramentasCaixa de ferramentasCaixa de ferramentasCaixa de ferramentas facilita muito o trabalho de inserção de
controles. Que tal colocar a mão na massa e partir para a criação de um
formulário simples? Tente criar um modelo como o apresentado na
figura a seguir:
1
2
3
Depois de construir o formulário, guarde-o. Vamos voltar a usá-lo
mais adiante.
cap_07.p65 16/6/2004, 17:3755
56 Treinamento avançado em Excel
• ALTERANDO O NOME DOS CONTROLES
Para capturar os dados que o usuário inserir nos controles do seu
formulário, é necessário nomear os controles. Do contrário, não será pos-
sível referir-se a eles mais tarde. O nome de um controle é definido por
sua propriedade NameNameNameNameName, como descrito nos passos a seguir:
Na janela UserFormUserFormUserFormUserFormUserForm, dê um clique sobre o controle desejado.
Na janela PropriedadesPropriedadesPropriedadesPropriedadesPropriedades, dê um clique sobre a propriedade NameNameNameNameName.
Digite o nome que você quer dar ao controle.
Uma dica: para facilitar a identificação dos controles, é interessante
padronizar a nomenclatura. Um padrão muito utilizado é o de iniciar o
nome com três letras indicando qual o tipo de controle criado. Por exem-
plo, lblVeículo: nesse caso, as letras “lbl” indicam que o controle é do tipo
rótulo (em inglês, label); e o nome específico desse controle do tipo rótu-
lo está expresso logo em seguida (Veículo).
A propriedadeCaption
Certos controles, como rótulo, botão de opção, caixa de texto, mol-
dura e botão de comando, possuem a propriedade CaptionCaptionCaptionCaptionCaption, a qual
permite acrescentar um texto de apresentação do controle. Suponha
que você tenha uma caixa de texto na qual o usuário deva digitar o
nome dele. Para que ele saiba o que deve fazer, é necessário que exista
um texto explicativo, como “Digite aqui o seu nome”. Esse texto é defini-
do na propriedade CaptionCaptionCaptionCaptionCaption.
• ALTERANDO OS CONTROLES DO FORMULÁRIO
Agora chegou a hora de retomar o formulário que você criou há
pouco. Você vai definir os nomes e os captions de alguns controles,
seguindo a orientação da tabela a seguir:
1
2
3
cap_07.p65 16/6/2004, 17:3756
Criando um formulário no VBA 57
ObjetoObjetoObjetoObjetoObjeto NameNameNameNameName CaptionCaptionCaptionCaptionCaption
label1label1label1label1label1 lblNome Nome:
TTTTTeeeeextboxtboxtboxtboxtbox1x1x1x1x1 txtNome
Commandbutton1Commandbutton1Commandbutton1Commandbutton1Commandbutton1 cmdOk OK
Commandbutton2Commandbutton2Commandbutton2Commandbutton2Commandbutton2 cmdCancelar Cancelar
Label2Label2Label2Label2Label2 lblVeículo Veículo:
ListBox1ListBox1ListBox1ListBox1ListBox1 ltbVeículo
Frame1Frame1Frame1Frame1Frame1 frmPagamento Opções de pagamento
OptionButton1OptionButton1OptionButton1OptionButton1OptionButton1 optVista À vista
OptionButton2OptionButton2OptionButton2OptionButton2OptionButton2 optParcelado Financiado
label3label3label3label3label3 lblParcelas Nº de parcelas
TTTTTeeeeextBoxtBoxtBoxtBoxtBox2x2x2x2x2 txtParcelas
SpinButton1SpinButton1SpinButton1SpinButton1SpinButton1 spiParcelas
Label5Label5Label5Label5Label5 Preço:
CheckBox1CheckBox1CheckBox1CheckBox1CheckBox1 chkNovo Cliente novo
Label4Label4Label4Label4Label4 LBLPreço [em branco]
Inserindo uma imagem
Como fazer para incluir uma imagem em seu formulário? É simples.
Você já sabe que o controle correspondente é o ImaImaImaImaImagggggememememem. Aproveite o
passo-a-passo a seguir para definir a imagem que deve ser associada ao
controle ImagemImagemImagemImagemImagem que você já inseriu no seu formulário:
No formulário que você criou, dê um clique sobre o controle
de imagem.
1
cap_07.p65 16/6/2004, 17:3757
58 Treinamento avançado em Excel
Na janela PropriedadesPropriedadesPropriedadesPropriedadesPropriedades, vá até a propriedade PicturePicturePicturePicturePicture e clique no
botão com as reticências.
Será aberta uma janela de navegador, para que você escolha a ima-
gem a ser inserida. Procure o arquivo de imagem desejado e dê um
duplo clique sobre ele.
Para que a figura não apareça cortada, altere a propriedade
PicturPicturPicturPicturPictureSizeModeeSizeModeeSizeModeeSizeModeeSizeMode. Assim, a figura vai se adaptar ao tamanho da caixa.
4
Propriedades de texto
Depois de alterar as propriedades NameNameNameNameName e CaptionCaptionCaptionCaptionCaption dos controles, o
seu formulário terá esta aparência (exceto pela figura, que será aquela
que você tiver selecionado):
2
3
Agora, você deve definir uma propriedade para o objeto do tipo caixa
de texto txtNome. Para permitir que o nome do cliente seja digitado em
mais de uma linha, defina a propriedade MultiLineMultiLineMultiLineMultiLineMultiLine como TTTTTrrrrrueueueueue. Para isso,
basta dar um clique sobre o controle txtNome no seu formulário e alterar
a propriedade desejada na janela PropriedadesPropriedadesPropriedadesPropriedadesPropriedades.
Alterando a ordem dos controles
Com o formulário já construído, você pode navegar pelos controles
existentes usando a tecla Tab. Com ela, os objetos são selecionados de
acordo com a ordem em que foram criados. Mas é possível alterar essa
ordem, para, por exemplo, torná-la compatível com a das colunas de
uma planilha. Para isso, vá ao menu ExibirExibirExibirExibirExibir > Ordem de tabulaçãoOrdem de tabulaçãoOrdem de tabulaçãoOrdem de tabulaçãoOrdem de tabulação.
Preparando o ambiente dos dadosPreparando o ambiente dos dados
Na janela que aparece, clique sobre o controle que deseja mudar
de posição e, depois, sobre os botões Mover para cimaMover para cimaMover para cimaMover para cimaMover para cima ou MoverMoverMoverMoverMover
para baixopara baixopara baixopara baixopara baixo.
cap_07.p65 16/6/2004, 17:3758
Criando um formulário no VBA 59
Associando a tabela de veículos com o controle
No Editor do Visual Basic, selecione o objeto lbtVeículos.
1
2
1
Preparando a tabela com os dados dos veículos
Em Plan2 devemos digitar a tabela com os veículos que temos
na revendedora:
1
Nosso intuito é relacionar o formulário que criamos com planilhas
do Excel. Só para ter uma idéia de como ele vai ficar sobre a planilha,
clique sobre o botão .
Depois, feche o formulário sobre a planilha para retornar ao edi-
tor do VBA.
Na planilha, vamos preparar o ambiente em que os dados se-
rão recebidos.
Construa a seguinte planilha:
2 Nomeie a planilha como Cadastro.
Renomeie a planilha como Veículos.
Selecione o intervalo A2:C19 e nomeie-o como VEÍCULOS.
cap_07.p65 16/6/2004, 17:3759
60 Treinamento avançado em Excel
2
3
4
5
Esse controle deverá apresentar a tabela de produtos que está na
planilha Veículos.
Defina a propriedade RoRoRoRoRowSourwSourwSourwSourwSourcecececece como Veículos (nome da área
nomeada).
Para que sejam apresentadas as duas colunas com o modelo e o
ano do veículo, altere a propriedade ColumnCountColumnCountColumnCountColumnCountColumnCount para 2.
Para exibir os títulos altere a propriedade ColumnHeadsColumnHeadsColumnHeadsColumnHeadsColumnHeads para True.
Exibindo o formulário
Agora que já fizemos a associação entre o formulário e a planilha,
vamos fazer com que a planilha adequada seja selecionada, e o formulá-
rio, exibido. Isso será feito digitando-se algumas linhas de código no
editor do VBA:
Na janela Projeto, ative a janela de código com este botão:
Digite o seguinte código:
Sub Cadastro()
 Sheets(“Cadastro”).Select
 ‘Selecionar a planilha Cadastro.
 frmVeículos.Show
 ‘Exibir o formulário com os veículos.
End Sub
Esse código vai posicionar o cursor sobre a planilha Cadastro
(Plan1) e abrir o formulário frmVeículos.
Execute a macro para ver o formulário no centro da tela.
1
2
3
4
cap_07.p65 16/6/2004, 17:3760
Criando um formulário no VBA 61
 Range(“c” & Me.ltbVeículos.ListIndex + _
 2).Value
 ‘Acesse a coluna C da planilha Veículos,
‘adicionando 2 ao índice, pois o índice inicial
‘é zero. Coluna A + 2 = C.
 ‘Exibe o valor do veículo.
End Sub
Descarregando o formulário da memória
Quando o usuário clicar sobre o botão CancelarCancelarCancelarCancelarCancelar, o formulário deve-
rá ser removido da memória, ou, em outras palavras, descarregado. Para
que isso aconteça, você deve associar um código a esse botão. Dê um
clique duplo sobre ele para abrir a janela de código. Nela, digite:
Private Sub cmdCancelar_Click()
 ‘Quando o botão Cancelar for pressionado,
 ‘o formulário deverá ser descarregado.
 Unload Me
 ‘Descarrega o objeto atual (Me).
End Sub
Você deve ter reparado que não associamos comandos a todos os
controles do formulário. Isso porque controles como o botão de OKOKOKOKOK, por
exemplo, exigem alguns conhecimentos que serão apresentados nos
próximos capítulos. Mas não desanime! Ao terminar o livro, você terá um
formulário totalmente funcional, e, o melhor, inteiramente feito por você.
• EXIBINDO O PREÇO DO VEÍCULO
No formulário frmVeículos existe um controle com o nome lblPreço.
Ele vai servir para exibir o preço de determinado automóvel quando o
usuário selecioná-lo a partir da lista de veículos. Portanto, vamos adicionar
código ao controle ltbVeículo. Dê um duplo clique no controle
ltbVeículo, para ir à janela

Outros materiais