apostila vba

20
Introdução P rimeiro, meus cumprimentos aos programadores do Excel” Obrigado por comprar meu livro. Neste livro você encontrará, de maneira fácil e rápida, um jeito agradável de descobrir os prós e contras do aplica- tivo Excel da Microsoft. Mesmo que você não tenha conhecimento sobre programação, este livro pode ajudá-lo a não se perder nas teias do Excel (bem, isto talvez possa levar algum tempo). Diferentes de alguns livros de programação, este livro é escrito claramente, onde qualquer um pode compreende-lo, pois está cheio de informações, “fatos diversificados”, e sem muita “lenga-lenga”. É Este o Livro Certo? Se for nessas grandes livrarias, encontrará muitos livros sobre Excel, poucos são os que considero. Se fizer uma rápida pesquisa, pode ajudá-lo a encon- trar qual livro é realmente o melhor para você. Este livro é desenvolvido para avançar o intermédio dos usuários que querem se tornar peritos em programação do Visual Basic(VBA) e mais: É desenvolvido para avançar o intermédio dos usuários que querem se tornar peritos em programação do Visual Basic(VBA) e mais: Não necessita experiência em programação. Abrange os comandos mais usados. É apropriado para o Excel 2007. Tem até figuras que podem fazer você sorrir. Caso esteja usando o Excel 2000, XP ou 2003 este livro não servirá. O excel 2007 é diferente dessas versões anteriores. Caso esteja usando as versões anteriormente citadas procure livros respectivos a elas. Este livro não é aprofundado. Caso esteja buscando algo mais aprofundado, segue, abaixo, alguns livros sugestivos que foram todos publicados pela Wisley: Excel 2007 para Dummies, escrito por Greg Harvey. Excel 2007 Bíblia, escrito por John Walkenbach (isso mesmo, sou eu). Excel 2007 Referências Rápidas para Dummies, escrito por John Walkenbach (eu novamente) e por Colin Banfield.

Upload: uerj

Post on 25-Feb-2023

5 views

Category:

Documents


0 download

TRANSCRIPT

Introdução

P rimeiro, meus cumprimentos aos programadores do Excel”

Obrigado por comprar meu livro. Neste livro você encontrará, de maneira fácil e rápida, um jeito agradável de descobrir os prós e contras do aplica-tivo Excel da Microsoft. Mesmo que você não tenha conhecimento sobre programação, este livro pode ajudá-lo a não se perder nas teias do Excel (bem, isto talvez possa levar algum tempo).

Diferentes de alguns livros de programação, este livro é escrito claramente, onde qualquer um pode compreende-lo, pois está cheio de informações, “fatos diversificados”, e sem muita “lenga-lenga”.

É Este o Livro Certo?Se for nessas grandes livrarias, encontrará muitos livros sobre Excel, poucos são os que considero. Se fizer uma rápida pesquisa, pode ajudá-lo a encon-trar qual livro é realmente o melhor para você. Este livro é desenvolvido para avançar o intermédio dos usuários que querem se tornar peritos em programação do Visual Basic(VBA) e mais:

É desenvolvido para avançar o intermédio dos usuários que querem se tornar peritos em programação do Visual Basic(VBA) e mais:

Não necessita experiência em programação.

Abrange os comandos mais usados.

É apropriado para o Excel 2007.

Tem até figuras que podem fazer você sorrir.

Caso esteja usando o Excel 2000, XP ou 2003 este livro não servirá. O excel 2007 é diferente dessas versões anteriores. Caso esteja usando as versões anteriormente citadas procure livros respectivos a elas.

Este livro não é aprofundado. Caso esteja buscando algo mais aprofundado, segue, abaixo, alguns livros sugestivos que foram todos publicados pela Wisley:

Excel 2007 para Dummies, escrito por Greg Harvey.

Excel 2007 Bíblia, escrito por John Walkenbach (isso mesmo, sou eu).

Excel 2007 Referências Rápidas para Dummies, escrito por John Walkenbach (eu novamente) e por Colin Banfield.

2 Programando o Excel 2007 VBA para Leigos

Veja bem, o título deste livro não é : O Guia completo para Excel VBA pro-gramação para Leigos. Não ressalto todas as expectativas de programação do Excel, provavelmente você não queira saber tudo sobre. No caso de um suporte mais aprofundado sobre programação do Excel, você deve tentar o livro Microsoft Excel 2007 Power Programação com VBA escrito por John Walkenbach também publicado pela Wisley.

Então Você Quer Ser Um ProgramadorAlém de ganhar dinheiro para pagar minhas contas, minha principal meta em escrever este livro é mostrar aos usuários de Excel como usar a lingua-gem VBA, uma ferramenta significante que ajuda você a aumentar o poder de manipulação das palavras mais populares de programação.

Se você é como a maioria dos usuários de computadores, a palavra progra-mação forma uma imagem na sua cabeça de uma pessoa que aparente-mente não se parece com você. Acontece isso com algumas palavras que ouvimos, como, por exemplo, nerd, hacker, superdotado...

Os tempos mudaram. Programar computador tem se tornado mais fácil e as pessoas engajadas nesta atividade são agora chamadas de normais. Programar é simplesmente despejar ordens (comandos) que o computador automaticamente cumprirá. Programar o Excel refere-se instruí-lo a fazer automaticamente coisas que normalmente você faz manualmente, poupan-do bastante tempo (eu espero) e reduzindo erros. Poderia ir mais além, mas preciso guardar melhores informações para o primeiro capítulo.

Se leu até aqui, seguramente se tornará um programador de Excel. Isso pode ser algo que vem de você ou (que é o mais provável) é algo que seu chefe decide. Quando terminar este livro, honestamente possa dizer: “opa, com certeza, agora sim sou um programador de Excel” ou talvez eu já tenha falado o suficiente para sentir-se como um idiota na próxima e inesperada conferência cheia de aficionados por Excel.

Preocupar Por Quê?A maioria dos usuários nunca se preocupou em explorar a programação VBA. Seu interesse nisso o limitará no meio de um grupo elitizado. Bem-vin-do ao vinco! Se você não está convencido ainda em aprender Excel, tenho algumas boas razões do porque você quer aprender programação VBA.

Isso fará você mais competitivo no mercado de trabalho. Gos-tando ou não os aplicativos da Microsoft são extremamentes popula-res. Provavelmente notou que em todos os aplicativos da Microsoft é usado VBA.

Isso fará com que você extráia o máximo do software (ou, que é o mais provável, extrair o máximo de seus funcionários). Usar

Introdução 3

o Excel sem conhecimento de VBA é o mesmo que comprar uma TV e programá-la apenas para assistir um canal.

Isso fará melhorar sua produtividade (possivelmente). Aprender VBA definitivamente leva tempo, mas fará com que fique mais seguro e mais produtivo.

É divertido (bem, algumas vezes). Algumas vezes o pessoal real-mente se diverte programando o Excel a fazer coisas que praticamen-te são impossíveis. Quando você terminar de ler este livro, será uma dessas pessoas (fará parte desse grupo).

Agora você está convencido?

O Que Presumo Sobre VocêPessoas que escrevem livros tem o hábito de ter um público-alvo em mente. Para este livro, meu público-alvo é um conglomerado de usuários que conheci durante esses anos (alguns pessoalmente e outros pela internet). Segue, abaixo, descrito minhas hipóteses sobre o público-alvo:

Você tem acesso a computadores no seu trabalho e provavelmente em casa também.

Sucessivamente acessa o Excel.

Já deve ter usado muitos computadores durante anos.

Frequentemente usa o Excel no trabalho.

Precisa do Excel para fazer coisas que ultimamente não pode fazer.

Tem pouca ou nenhuma experiência em programação.

Realmente entende que o sistema de ajuda do Excel é útil. Encare isto, o livro não cobre tudo. Se você souber utilizar claramente o sistema de ajuda do Excel, estará preparado para resolver e esclarecer suas próprias dúvidas.

Se você não tem paciência para livros de computadores cansativos e tem que concluir um trabalho.

Seção das Convenções Tipográficas Obrigatória

Todos os livros de computador tem essa seção obrigatória (alguma lei fede-ral exige isso, eu acho). Leia ou pule.

4 Programando o Excel 2007 VBA para Leigos

Combições como Ctrl+Z, que significa que você tem que manter pressiona-do uma tecla enquanto pressiona outra, no caso do Ctrl+Z, significa manter o Ctrl pressionado enquanto pressiona a tecla Z

Para o conjunto de comandos, uso características distintas. Por exemplo, para abrir meus arquivos, uso o comando:

Abrir a Arquivo

Atenção, no Excel 2007 não existe essa coisa de um menu "arquivo" visível na tela. De fato, o menu arquivo foi substituído pelo OFFICE que foi implementa-do e chamado de Faixa de Opções. Todo texto que você deverá digitar apare-cerá em negrito. Por exemplo, se eu disser, digite: =SUM(B:B) na célula A1.

Programar no Excel envolve em desenvolver comandos, – significa prescrever instruções no Excel. Todos os códigos aparecem em um único espaço, igual este:

Range (“A1:A12”).Select

Alguns códigos são tão grandes que não cabem em uma única célula. Nesses casos, uso o padrão caracteriticamente sequencial VBA: um espaço seguido por um caracter de sublinhado por exemplo:

Selection.PasteSpecial Paste:=xlValues, _Operation:=xlNone, SkipBlanks:=False, _Transpose:=False

Quando entrar com este código, você pode digitar comandos grandes em um único espaço.

Prepare Sua Segurança Vivemos em um mundo cruel. Sempre aparecem pessoas tentando tirar van-tagens ou causando algum tipo de transtorno.Você provavelmente sabe que existem vírus de computadores que causam um estrago no sistema operacional. Você sabia que nos arquivos do Excel pode residir um vírus? É verdade, relati-vamente pode se criar facilmente vírus usando VBA. Um desconhecido usuário pode abrir um arquivo do Excel e espalhar um vírus nos trabalhos do Excel.

Durante esses anos, a Microsoft considerou muito sobre esta quetão de segurança. Isso é bom, mas o usuário do Excel tem que entender clara-mente como funciona. Você pode conferir o sistema de configuração de segurança do Excel usando OfficeaOpções do ExcelaCentral de ConfiabilidadeaConfigurações da Central de Confiabilidade. Se você clicar nas configurações macros, suas opções serão:

Desabilitar todas as macros sem notificação: macros não funcio-narão, independente do que você faça.

Desabilitar todas as macros com notificação: quando você abrir a planilha de trabalho com macros, verá uma barra de mensagem

Introdução 5

abrindo uma opção onde você pode ativar macros, ou (se o VBE está aberto), aparecerá uma mensagem perguntando se quer ativar macros.

Desabilitar todas as macros, exceto as digitalmente assinadas: só é permitido o funcionamento de macros se assinadas digitalmente.

Habilitar todas as macros (não-recomendado, códigos possivel-mente perigosos podem ser executados)

Imagine.Você passou uma semana se matando fazendo um VBA, programa que revolucionará a empresa onde trabalha.Você testou o programa e en-viou para o seu chefe. Logo em seguida, ele liga reclamando que sua macro não faz nada de nada. O que está acontecendo? Pode ser que as configura-ções de segurança do seu chefe não permitam a execução de macros. Ou, talvez ele escolheu, quando abrir algum arquivo as macros desativam-se.

Pense nisso! Só porque o Excel trabalha com macro, não é garantido que sempre as macros serão executadas. Tudo isso depende da configuração de segurança e o que o usuário escolher quando ativar e desativar macros.

Ou seja, para trabalhar na planilha, você precisará ativar macros para os arquivos que trabalhar. Meu conselho é usar o plano configuração de segurança, assim, quando abrir um arquivo que criou, você simplesmente ativa as macros. Se você abrir um arquivo, enviado por uma pessoa que não conhece, deve desativar as macros e verificar o código VBA para assegurar se não contém nada destrutivo ou suspeito.

Como Este Livro É OrganizadoDividi este livro em seis importantes partes, onde existem vários capítulos. Embora tenha organizado os capítulos em clara sequencia, você pode ler em qualquer ordem que desejar. Antecipo rapidamente o que está armaze-nado para você.

Parte I: Introdução VBAParte que foi dividida em dois capítulos. No primeiro capítulo, introduzo a linguagem VBA. No segundo capítulo, faço você suar, levando-o para um tour pelo VBA.

Parte II: Como VBA Trabalha com ExcelEscrevendo este livro, suponho que você deve saber como usar o Excel. Os quatro capítulos da parte II mostram mais claro como o VBA implementa o

6 Programando o Excel 2007 VBA para Leigos

Excel. Esses capítulos são todos de extrema importância, então recomendo que não pule eles, “ta” bom?

Parte III: Programando ConceitosOs oito capítulos que estão na parte III não deixarão escapar o que real-mente é programação. Talvez não precise de todas essas informações, mas você estará grato por elas estarem aí quando precisar.

Parte IV: Comunicação com seus usuáriosUma das partes mais legais de programar no Excel é de desenvolver caixas de diálogos (bem, eu pelo menos gosto). Os capítulos da parte IV mostram como criar caixas de diálogos que se parecem própria do software da Microsoft.

Parte V: Organizando-seOs capítulos da parte V ordenam informações que precedem os capítulos.Você descobrirá como personalizar seu Excel em relação ao uso, desenvolver funções de orientação e até trabalhar em conjunto com outro aplicativo do OFFICE.

Parte VI: A Parte dos DezTradicionalmente, a série de livros para Leigos contei uma parte final que consiste de pequenos capítulos informativos. Por eu não ser tão tradicional, este livro tem dois capítulos que você pode usar se lhe convém (se você for igual à maioria dos leitores, começará por esta parte.)

Ícones Usados Neste LivroEm alguma parte, uma empresa fez uma pesquisa de Mercado e obteve que suas publicações venderiam mais livros para computadores se adicionas-sem ícones nas margens do livro. Ícones são essas pequenas figuras ilustra-tivas que supostamente chamam sua atenção para alguns detalhes, e ajuda você a decidir o que vale à pena ler.

Não sei se esta indagação é realmente válida, mas não tenho outra escolha a não ser fazê-la. Então, aqui estão os ícones que encontrará de frente para trás e de trás para frente:

Quando ver este ícone, o código a ser discutido está na Web. Baixe isso e elimine os lotes de digitação. Veja: “obter o arquivo de exemplo abaixo”, para mais informações.

Introdução 7

Este ícone mostra materiais que você deve considerar técnicos. Você pode até achar isto interessante, mas pode tranquilamente nem ligar para eles, se estiver com pressa.

Não escape de informações marcadas com este ícone. Isso identifica ata-lhos que podem encurtar bastante tempo (e talvez até possa permitir que saia mais cedo do trabalho).

Este ícone diz a você que precisa de informações aprofundadas para serem usadas mais tarde.

Interpretar qualquer coisa marcada com este ícone. De outra maneira, você talvez arrebente seu computador, aconteça uma fusão nuclear ou talvez arruíne todo o seu dia de trabalho.

Apresentar Amostras de ArquivosEste livro tem sua própria página na Internet onde você pode baixar exem-plos de arquivos discutidos e ver bônus de capítulos. Para conseguir esses arquivos, vá ao endereço:

www.paraleigos.com.br

Tendo um arquivo simples que lhe salvará bastante tempo de digitação. Melhor ainda, você pode brincar mudando as alterações. Na verdade, recomendo usar esses arquivos. Experimentando é a melhor forma para dominar VBA.

Para Onde Ir Daqui em Diante?Ler as instruções foi seu primeiro passo. Agora, é hora de fazer acontecer e se tornar um programador.

Se for um programador amador. Seguramente sugiro a você começar pelo capítulo 1 e ir progredindo capítulo a capítulo. Capítulo 2 dá a você experi-ências que você se ilude, achando que está progredindo rapidamente.

Mas, é um país livre (pelo menos era quando escrevi este livro), não quero soletrar para você Computer Book Police seja qual for suas necessidades, espero que se divirta lendo este livro, assim como me diverti escrevendo-o.

LEM

BRE-SE

DICA

CU

IDADO!

EQUI

PE TÉCNICA

8 Programando o Excel 2007 VBA para Leigos

Parte IIntroduzindo VBA

A 5ª Onda por Rich Tennant

Isso aqui é impressionante! E você diz que é só programar

para costurar a incisão, que mais tarde

ficará boa?

Nesta parte...

Todos os livros começam a partir de um ponto. Este aqui começa introduzindo a você o Visual Basic Aplications (tenho certeza que

você se tornará muito amigável com o livro depois de alguns capítulos lidos). Depois da introdução, o capítulo 2 levará você à real vida da programação Excel.

Capítulo 1

O Que VBA é?Neste capítulo:� Aumento da concepção geral do VBA

�Encontra o que pode-se fazer com VBA

� Descobre as vantagens e desvantagens de usar VBA

� Uma pequena aula de historia sobre o Excel

Este capítulo traz um complemento para qualquer material de treina-mento. Entretanto, contém informações que auxiliará você a se tornar

um programador do Excel. Em outras palavras, este capítulo pavimenta os caminhos e faz com que você programe o Excel, do começo ao fim.

Tudo Bem, Então O Que É VBA?VBA, que são as siglas para Visual Basic Applications, é uma linguagem de programação desenvolvida pela Microsoft, você conhece, é a companhia que pertence ao homem mais rico mundo. O Excel, junto com outros programas do Microsoft Office 2007, inclui a linguagem VBA (sem cobrar nenhuma taxa). A linguagem VBA é uma ferramenta que pessoas como você e eu usamos para desenvolver programas que controlam o Excel.

Imagine um robô inteligente que saiba tudo sobre o Excel. Esse robô pode ler instruções e pode também operar o Excel com muita rapidez e preci-são. Quando você quiser que o robô faça algo no Excel, você programa as instruções dele, usando códigos especiais. Diga ao robô para seguir suas instruções, enquanto você se senta e relaxa, tomando um copo de limona-da. Isso que é VBA, uma linguagem de código para os robôs. Note que tanto faz, o Excel não vem com um robô e muito menos faz limonada.

12 Parte I: Introduzindo VBA

Não confunda VBA com VB (que significa VISUAL BASIC ).VB é a lin-guagem de programação autônoma que permite a você criar programas executáveis (aqueles arqivos .exe). VBA e VB tem muito em comum, mas são diferentes.

O Que Você Pode Fazer com VBA? Você, provavelmente, está ciente que os usuários do Excel usam o programa para milhares de diferentes tarefas. Segue alguns exemplos:

Matendo lista personalizada com nomes, notas de estudantes ou ideias para um feriado prolongado.

Realização de orçamento ou previsões financeiras

Análise de dados científicos

Criação de fatura ou outro tipo de formulário

Criar cartas

Os exemplos são muitos, mas acredito que já entendeu. O que quero dizer é que o Excel é usado para coisas variadas, e qualquer um que ler este livro tem diferentes necessidades e expectativas consideráveis. Uma coisa que todos os leitores têm em comum é a necessidade de automatizar algum aspecto do Excel. Isso, meu caro leitor, é o que VBA faz.

Por exemplo, você pode criar um programa VBA para formatar e copiar seus relatórios de venda do fim do mês. Depois de desenvolver e testar o programa, você pode executar a macro com comandos únicos, fazendo com que o Excel faça o procedimento, salvando a você bastante tempo. Me-

Alguns conjuntos de termosO termo, programar Excel pode ser um pouco confuso, por exemplo, linguagem de progra-mação do VBA, mas serve também como linguagem macro. Como você nomeia algo que escreve em VBA e executa no Excel?É chamado de macro ou de programa? Frequentemente, o sistema de ajuda do Excel nomeia procedimentos VBA como macros, então, uso esse mesmo termo. Mas também, nomeio isso como programa.

Eu, automaticamente, através deste livro, uso esse termo. O termo significa que as etapas foram completadas au-tomaticamente. Por exemplo, se você escrever um macro que adicionará cor em alguma célula, copie uma pla-nilha, e então remova a cor, você tem automatizado essas três etapas. Por falar nisso, macro não apoia operação desordenada repetida.

DICA

EQUI

PE TÉCNICA

Capítulo 1: O Que é VBA? 13

lhor do que ficar se matando com as sequencias cansativas de comandos, você pode desfrutar um refresco, enquanto deixa o seu computador fazer o trabalho, como supostamente deve ser, certo?

Nas seções seguintes, descreverei, em poucas palavras, alguns usos comuns para as macros VBA. Um ou dois destes fará que você se ligue.

Inserindo textoSe você, frequentemente, precisa entrar com o nome da empresa, endereço, e numero de telefone em sua planilha de trabalho, você pode criar uma macro para digitar essas informações para você, pode ir o quanto longe você quiser. Por exemplo, você pode desenvolver um macro que, automaticamente, digita uma lista com os nomes de todas as pessoas que trabalham na sua empresa.

Automatizar tarefas frequentementes Suponhamos que você é o gerente de vendas e precisa preparar o relatório de vendas do fim do mês para satisfazer seu chefe.Você pode desenvolver um programa VBA para fazer direto essa tarefa. Seu chefe ficará impressio-nado com a qualidade e consistência dos seus relatórios, você pode ser promovido a um novo cargo ou receber propostas mais proporcionais a sua qualificação.

Automatizar operações repetidasSe você precisa executar 12 vezes uma mesma ação na planilha do Excel, enquanto executa a primeira planilha, você pode gravar em uma macro e deixar a macro que repita as outras planilhas a tarefa. O melhor sobre o Excel é que ele nunca reclama. Semelhantemente como se grava músicas ou vídeos, as macros do Excel gravam comandos.

Criando comandos personalizadosVocê, frequentemente, usa a mesma sequencia de comandos no Excel? Você pode se poupar alguns segundos, elaborando uma macro que combi-ne esses comandos em um único comando personalizado, onde você pode executá-lo com um clique no botão.

Criando botões personalizadosVocê pode personalizar sua barra de ferramentas, com um próprio botão que execute uma tarefa programada em uma macro. Nos locais de trabalho, as pessoas ficam bastante impressionadas com esta personalização.

14 Parte I: Introduzindo VBA

Desenvolvendo novas palnilhas de funçõesEmbora o Excel tenha numerosas funções (como SOMA e MÉDIA), você pode criar uma planilha de funções personalizada que pode simplificar suas fórmulas. Garanto que você ficará surpreso com como isso é fácil. (Mostro como fazer isso no capítulo 21). Melhor ainda, inserir caixas de diálogo, com funções personalizadas por você. Muito interessante.

Criando aplicações conduzidas pela macroSe você estiver disponto a gastar algum tempo, pode usar VBA para criar em escala grande de aplicações completas com um Faixa de opções, caixas de di-álogos, ajuda na tela, e muitos outros atributos. Este livro não vai tão longe, mas eu só estou te contando isso, para você ver como o VBA é realmente poderoso.

Criando entradas personalizadas para o ExcelVocê provavelmente está familiarizado com as entradas do Excel. Por exemplo, Caixa de Ferramentas é uma entrada bastante conhecida. Você pode usar o VBA para desenvolver suas próprias entradas. Desenvolvi a minha Caixa de Uti-lidades somente usando VBA e pessoas em todas as partes do mundo as usam.

Vantagem e Desvantagem do VBANesta parte, rapidamente descreverei coisas boas sobre VBA, e igualmente farei isso, explorando o lado sombrio da VBA.

VBA vantagensVocê pode automatizar quase qualquer coisa no Excel. Para fazer é só escrever comandos, que o Excel toma conta do resto. Pode ter muitas vanta-gens automatizando tarefas no Excel:

O Excel sempre executa tarefas exatamente do mesmo jeito (na maio-ria dos casos é uma coisa boa).

Executa tarefas muito mais rápido se você fizesse manualmente (a não ser que você seja o Super-Homem).

Se você for um bom programador de macros, o Excel sempre executa-rá tarefas sem erros (já não podemos dizer isso sobre eu e você).

Se você configurar corretamente o Excel, qualquer um sem o conhe-cimento do Excel, pode executar tarefas.

Capítulo 1: O Que é VBA? 15

O Excel pode fazer coisas que por outro lado parece ser impossível, poden-do fazer você ficar bastante popular no trabalho.

você não precisa ficar sentado à frente do computador, desperdiçando tem-po. O Excel faz o trabalho, enquanto você vai tomar um café.

VBA desvantagensÉ justo que eu mostre igualmente as desvantagens (ou possíveis desvantagens) do VBA:

Você tem que saber como escrever programas em VBA (mas é porque você comprou este livro, certo?). Felizmente, não é tão complicado como pensa.

Outras pessoas que precisem usar VBA devem ter suas próprias cópias do programa Excel. Seria muito bom se você pressionasse um botão e o aplicati-vo Excel/VBA se convertesse em um programa autônomo, mas isso não seria possível (e provavelmente nunca será).

Às vezes, tem coisas que dão errado. Em outras palavras, você não pode confiar cegamente em seu programa VBA, que em todas as circunstâncias ele funcionará corretamente. Bem-vindo ao mundo de apuração de erros.

VBA é como um alvo em movimento. Como você sabe, a Microsoft continu-amente atualiza o Excel. Mesmo a Microsoft se esforçando para que haja uma compatibilidade entre as versões, você deve saber que o código VBA que está escrevendo para Excel 2007, provavelmente não servirá em versões anteriores e/ou futuras do Excel.

VBA em Poucas PalavrasSó para saber onde você está se metendo, preparei um rápido sumário sobre VBA. E claro, descrevi também, todas as coisas dolorosas, que detalharei neste livro.

Você executa ações em VBA escrevendo (ou gravando) comandos em um módulo VBA. Você vê e edita módulos VBA, usando o Visual Basic Editor (VBE).

Um módulo VBA consiste em procedimentos Sub. Um procedimento sub nada a ver com submarinos ou saborear um sanduiche. Melhor, é um có-digo de computador que excecuta ações e objetos (discutiremos isso em um momento). Os exemplos seguintes mostram um procedimento sub simples, chamado de somar. Este maravilhoso programa expõe resultados de 1 mais 1.

16 Parte I: Introduzindo VBA

Sub Somar()Sum = 1 + 1MsgBox “A resposta é “ & Sum

End Sub

Um módulo VBA pode também ter procedimento Function. Um procedimento Function retorna um valor único. Você pode chamar isso de outro procedimento VBA ou ainda usar isso como uma função em uma planilha de fórmulas. Um exemplo de procedimento function (nomeado AdicionarDois). Esta função aceita dois números (chama-dos de argumentos) e retorna a soma dos valores.

Function AdicionarDois(arg1, arg2)AddTwo = arg1 + arg2

End Function

VBA manipula objetos. Excel fornece dezenas e dezenas de ob-jetos que você pode manipular. Exemplos de objetos são as macros, planilhas células.Você tem muitos objetos à sua disposição e pode manipulá-los usando os códigos do VBA.

Objetos são colocados em hierarquia. Objetos podem ser usados como base (estrutura) para outros. No topo da hierarquia de objetos está o Excel. O objeto Excel é chamado de aplicação. O objeto aplica-ção contém outros objetos como as planilhas e ícones adicionados. O objeto planilha pode conter objetos como escala e objetos como tabelas-pivô. O termo objeto modelo refere-se a arranjos de outros objetos. (Pode achar mais informações sobre o modelo de objetos no capítulo 4).

Objetos é a mesma coisa que uma relação. Por exemplo, uma rela-ção de planilhas consiste em todas as planilhas em uma pasta especial de trabalho. Uma relação de gráficos consiste em todos os objetos gráficos em uma pasta de trabalho. Relação são os próprios objetos.

Você quer dizer, um específico objeto posicionado na hierar-quia, pode ser usado periodicamente. Por exemplo, você pode consultar a planilha com Book1.xlsx

Application.Workbooks(“Livro1.xlsx”)

Isso significa consultar planilha Livro1.xlsx na relação de planilhas.

A relação de planilhas está contida no objeto aplicação (esse é o Excel). Pegando este gancho, você pode consultar uma única planilha de trabalho na Livro1.xlsx como

Application.Workbooks(“Livro1.xlsx”).Worksheets(“Folha1”)

Como mostrado nos exemplos, você pode ainda, nos outros níveis, consultar uma específica célula (neste caso será a célula A1):

Capítulo 1: O Que é VBA? 17

Application.Workbooks(“Livro1.xlsx”).Worksheets(“Plan1”).Range(“A1”)

Se você não especificar a consulta, o Excel usará os objetos ativos. Se a planilha Livro1.xlsx estiver ativa, você simplesmente pode referir a consulta como:

Worksheets(“Plan1”).Range(“A1”)

Se você sabe que a planilha de trabalho Sheet1 está ativa, pode con-sultar:

Range(“A1”)

Objetos tem seus espaços. Você pode pensar em um espaço como estrutura para um objeto. Por exemplo, uma Coluna tem espaços como os Valores e Endereços nas planilhas. Um objeto de gráficos tem espaços HasTitle e Type.

Você pode determinar e até mudar os espaços dos objetos usando o VBA.

Você pode consultar os espaços dos objetos usando o nome do objeto e separado por um ponto o nome do espaço. Por exemplo, consultar um Valor em uma célula A1 na Plan1:

Worksheets(“Plan1”).Range(“A1”).Value

Você pode atribuir valores para as variáveis. Uma variável é um elemento das informações. Você pode usar variáveis no seu código VBA, como valores, textos ou espaços para estruturar. Para atribuir na célula A1 na Folha1 introduza a variável chamada de Interest, uso o seguinte VBA código:

Interest = Worksheets (“Plan1”).Range(“A1”).Value

Objetos tem seus métodos. Um método é uma performance do Excel em um objeto. Por exemplo, um método para um objeto Coluna é ClearContents. Este método limpa o índice da coluna.

Separado por um ponto você pode combinar o objeto com o méto-do. Por exemplo, a seguir indicações claras dos índices da célula A1:

Worksheets(“Plan1”).Range(“A1”).ClearContents

VBA inclui todos os modelos de linguagens de programação moderna, incluindo arrays e looping. Em outras palavras, se você estiver disposto a gastar uma parte de seu tempo, pode escrever códi-gos que façam coisas incríveis.

18 Parte I: Introduzindo VBA

Acredite ou não o procedimento listado está muito bem-descrito dentro do casco do VBA. Agora, é só achar os detalhes, essa é a finalidade deste livro.

Uma Excurção nas Versões AnterioresSe você planejar desenvolver uma macro VBA, deve ter um entendimento da história do Excel. Sei que você não estava esperando uma aula de histó-ria quando pegou este livro, mas vamos aguentar. Isto é importante.

Aqui estão as principais versões do Excel para Windows que você tem visto à luz do dia, juntamente com algumas palavras como eles manipulam as macros:

Excel 2: A versão original do Excel para o Windows é chamada de Versão 2 (melhor que a 1) então isso corresponde à versão Macintosh. A primeira aparição do Excel 2 foi em 1987 e ninguém usa mais essa versão e mesmo que ela exista, deve esquecê-la.

Excel 3: Lançada em 1990, esta versão tem os recursos de linguagem macro XLM. Ninguém usou esta versão também.

Excel 4: Esta versão chegou às ruas em 1992. Também com recursos de linguagem macro XLM. Um pequeno número de pessoas continua usando esta versão. (Eles usam a filosofia: se está funcionando, por que trocá-la?)

Excel 5: Esta versão saiu em 1994. Era a primeira versão que usava VBA (mas também suportava XLM). São cada vez mais raros usuários do Excel 5.

Excel 95: Tecnicamente sabemos que é a versão Excel7 (não teve Ex-cel6), esta versão veio no verão de 1995. É a versão de 32-bit, e requer Windows 95 ou o Windows NT. Tem alguns acessórios VBA e suporta a linguagem XLM, encontramos ocasionalmente alguém que ainda usa esta versão.

Excel 97: Esta versão (como sabemos Excel 8) nasceu em janeiro de 1997. Ela tem muitos acessórios e características para programação de macros VBA. O Excel 97 usa um novo formato de arquivo (que a versão anterior não pode usar). Muitas pessoas continuam usando esta versão.

Excel 2000: Nesta versão os números saltaram para quatro dígitos. Excel 2000 (como sabemos Excel 9) teve sua estreia para o público em junho de 1999. Inclui acessórios para as perspectivas dos progra-madores, particularmente para usuários online. Com o Excel 2000 a opção para digitalizar assinatura de macros, sendo assim, você garan-te para os usuários que o código entregue é verdadeiramente seu. O Excel 2000 ainda tem um modesto número de usuários.

Capítulo 1: O Que é VBA? 19

Excel 2002: Esta versão (como sabemos Excel 10 ou Excel XP) apa-rece em 2001. Algumas características desta versão é que ele recupera o trabalho quando acontece algo com o Excel. Esta é a primeira versão que usa a proteção de trabalhos (conhecida como product activation).

Excel 2003: De todas as atualizações do Excel que eu já tenha visto (e eu já vi todas), Excel 2003 tem menos funcionalidade. Em outras palavras, a maioria dos usuários (certamente inclusive você) ficaram muito desapontados com Excel 2003. Ainda tem pessoas que usam esta versão. Acredito que esta versão seja a pré-Excel 2002.

Excel 2007: A última, e sem dúvidas a melhor versão. O Excel 2007 está todo modificado, sua planilha de trabalho, novas entradas, e suporta muito mais funções. Este livro foi escrito para a versão Excel 2007, então se você não tem esta versão, está lendo o livro errado.

Qual o significado desta miniaula de história? Se você planeja compartilhar seus arquivos Excel/VBA para outros usuários, é de vital importância saber que tipo de versão os usuários usam. Pessoas que usam versões antigas não serão capazes de rodar funcionalidades nas antigas versões. Por exemplo, se você escrever um código VBA que refere à célula XFD1048576 (a última célula da planilha), e esses usuários estiverem usando uma versão antiga, dará um erro, porque na versão pré-Excel 2007 a planilha de trabalho só tem 65,536 filas e 255 colunas (a última célula é IV65536). O Excel 2007 tem novos objetos, métodos e propriedades. Se você usar este código, usuários com versões mais velhas do Excel terão problemas (erros) quando rodar suas macros e você será o culpado.

20 Parte I: Introduzindo VBA