Julio Battisti - Macros e Programacao VBA No Excel

Embed Size (px)

Citation preview

  • Autor: Jlio Bat t ist i

    site: www.juliobat t ist i.com.br

    e-mail: webmaster@juliobat t ist i.com.br

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 2 de 527

    Nota sobre direitos autorais: Este ebook de autoria de Jlio Battisti, sendo comercializado diretamente atravs do site www.juliobattisti.com.br

    ou atravs do site de leiles Mercado Livre: www.mercadolivre.com.br.

    Ao adquirir este ebook voc tem o direito de l-lo na tela do seu computador e de imprimir quantas cpias desejar. vetada a distribuio deste arquivo, mediante cpia ou qualquer outro meio de reproduo, para outras pessoas. Se voc recebeu este ebook atravs do e-mail ou via ftp de algum site da Internet, ou atravs de um CD de Revista, saiba que voc est com uma cpia pirata, no autorizada. O valor cobrado por este arquivo praticamente simblico pelas horas e horas de trabalho que ele representa. Novos cursos somente podem ser desenvolvidos pela honestidade de pessoas que adquirem o arquivo do curso e no o distribuem livremente para outras pessoas. Se voc recebeu uma cpia deste arquivo sem t-la adquirido diretamente com o autor, seja honesto, entre em contato com o autor, atravs do e-mail [email protected], para regularizar esta cpia.

    Ao regularizar a sua cpia voc estar remunerando, mediante uma pequena quantia, o trabalho do autor e incentivando que novos trabalhos sejam disponibilizados.

    Se voc tiver sugestes sobre novos cursos que gostaria de ver disponibilizados, entre em contato pelo e-mail: [email protected].

    Visite periodicamente o site www.juliobattisti.com.br

    para ficar por dentro das novidades:

    Cursos de informtica. Artigos e dicas sobre Certificaes da Microsoft. Artigos sobre Carreira e Trabalho. Dicas de livros e sites sobre diversos assuntos. Simulados gratuitos, em portugus, para os exames da Microsoft.

    PI RATARI A CRI ME, COM PENA DE CADEI A. EU AGRADEO PELA SUA HONESTI DADE. SE VOC COMPROU UMA CPI A DESTE CURSO, DI RETAMENTE COM O AUTOR,

    NO DI STRI BUA CPI AS PARA OUTRAS PESSOAS. SE VOC RECEBEU UMA CPI A I LEGAL DESTE ARQUI VO, NO ADQUI RI DA DI RETAMENTE COM O AUTOR JLI O BATTI STI , ENTRE EM CONTATO E REGULARI ZE A SUA

    CPI A.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 3 de 527

    Conhea outros livros do autor Jlio Bat t ist i:

    W indow s Server 2 0 0 3 Curso Com pleto 1 5 6 8 pginas

    O livro ensina desde os fundam entos bsicos do Act ive Directory, passando pela instalao do Windows Server 2003 e por dicas sobre o projeto, im plem entao e m igrao do Windows 2000 Server para o Windows Server 2003. Voc aprender, em detalhes, sobre os servios de com part ilham ento de arquivos e im pressoras, segurana, com o tornar o Windows Server 2003 um servidor Web, aprender sobre os servios de rede: DNS, DHPC, WI NS, RRAS, I PSec, Anlise de Segurana, Group Policy Objects e m uito m ais. Confira, vale a pena.

    Manual de Estudos Para o Exam e 7 0 - 2 1 6 - 7 1 2 pginas

    Neste aguardado lanam ento da Axcel Books Editora

    Cert ificao Microsoft Guia de Estudos Para o MCSE

    Exam e 70-216, o autor Jlio Bat t ist i descreve, de form a detalhada e com exem plos passo-a-passo, todos os tpicos que fazem parte do program a oficial da Microsoft para o exam e de cert ificao. A obra apresenta e explica desde os princpios bsicos, incluindo os fundam entos do protocolo TCP/ I P; passando por instalao, configurao e adm inist rao do DNS, DHCP, WI NS e RRAS; alm de ainda t ratar de questes quanto ao roteam ento, NAT, Cert ificados Digitais, I PSec, ent re out ros.

    W indow s XP Hom e & Professional 8 4 0 pginas

    O novo m undo do Windows XP, que representa a nova era do sistem a operacional para usurios e adm inist radores est reunido nesta obra. Jlio Bat t ist i apresenta a nova interface do sistem a, com pletam ente redesenhada e com a experincia de um profissional cert ificado da Microsoft . Na obra, os leitores iro aprender a im plem entar, configurar e ut ilizar o

    Windows XP, desvendando as funcionalidades, alm das configuraes de segurana, de desem penho e de estabilidade do sistem a. O livro aborda ainda toda a parte de I nternet do Windows XP

    conectando e usando a I nternet ; configurando o firewall de conexo; alm dos novos recursos do correio elet rnico. Veja tam bm os detalhes sobre o Act ive Directory, as configuraes de rede e protocolo TCP/ I P, cr iptografia, regist ry do Windows, ent re tantos out ros assuntos. O leitor ainda vai poder contar com um captulo exclusivo e um sim ulado com 100 questes/ respostas dest inados aos interessados no exam e de Cert ificao 70-270 da Microsoft .

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 4 de 527

    ASP.NET: Um a Nova Revoluo

    Na Criao de Sites e

    Aplicaes W eb 7 3 0 pginas

    Conhea o ASP.NET, a m ais nova verso do ASP, que representa um a m udana no m odelo de desenvolvim ento de aplicaes Web. O livro t raz todas as inform aes necessrias sobre o assunto, inclusive os detalhes da iniciat iva .NET, o CLR, o MSI L e o C# , a nova linguagem da Microsoft . Aprenda os novos cont roles do ASP.NET e com o ut ilizar o Visual Studio.NET para cr iar pginas ASP.NET. Veja ainda com o criar form ulrios avanados para edio de dados, configurar as opes de segurana do Windows 2000, do I I S e do ASP.NET, alm de aprender com o criar pginas ASP.NET para as m ais diversas funes.

    SQL Server 2 0 0 0 : Adm inist rao & Desenvolvim ento

    Curso Com pleto 8 1 6 pginas

    O lanam ento dest inado aos usurios/ leitores da verso anterior do SQL Server, o SQL 7, alm de redes de com putadores em geral, Windows 2000 Server, TCP/ I P, Bancos de Dados em geral, do Microsoft Access e do Visual Basic. O leitor aprender na obra dest inada do iniciante ao avanado detalhes sobre o m odelo de dados relacional, com o instalar o SQL Server 2000 em diferentes plataform as, alm da criao e adm inist rao de bancos de dados, tabelas e out ros objetos. Aprenda ainda Com o criar pginas ASP que acessam os dados do SQL Server 2000.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 5 de 527

    PR-REQUISITOS PARA O CURSO: Para que voc possa acompanhar as lies deste curso necessrio que voc j tenha preenchido os seguintes pr-requisitos:

    Curso bsico de Excel em 120 Lies, disponvel no seguinte endereo: (http://www.juliobattisti.com.br/excel120/excel120.asp) ou conhecimento equivalente.

    Curso de Excel Avanado em 120 Lies, disponvel no seguinte endereo: (http://www.juliobattisti.com.br/excel120avancado/excel120avancado.asp) ou conhecimento equivalente.

    Conhecimento dos aspectos bsicos do Modelo Relacional de banco de dados. Para saber mais sobre o Modelo Relacional de dados, consulte as seguintes lies do curso bsico de Access, disponvel no meu site, no seguinte endereo:

    o http://www.juliobattisti.com.br/accbasico/modulo1/licao2.htm

    o http://www.juliobattisti.com.br/accbasico/modulo1/licao3.htm

    o http://www.juliobattisti.com.br/accbasico/modulo1/licao4.htm

    o http://www.juliobattisti.com.br/accbasico/modulo1/licao5.htm

    o http://www.juliobattisti.com.br/accbasico/modulo1/licao6.htm

    Estes conhecimentos sero fundamentais para acompanhar os tpicos apresentados no curso. Muitos dos tpicos dependem destes pr-requisitos.

    Orientaes sobre os arquivos de Exem plos:

    Antes de iniciar o curso, cr ie uma pasta chamada Excel Avanado e descompacte os arquivos de exemplos do curso, dent ro desta pasta.

    Algumas palavras do autor: Este curso foi criado com o objetivo de ajud-lo a entender e a utilizar no seu dia-a-dia, a programao VBA Visual Basic for Applications, para implementar solues com o Microsoft Excel. O curso composto de 6 Mdulos, com 25 lies por mdulo.

    Em cada lio so apresentados conceitos tericos, seguidos por exemplos prticos, passo-a-passo, para que voc possa consolidar os conceitos tericos apresentados.

    Um bom estudo a todos e espero, sinceramente, que este curso possa ajud-los a utilizar melhor a programao VBA no Microsoft Excel.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 6 de 527

    NDI CE DO CURSO Introduo.............................................................................................................................................. 9 Mdulo 1 Introduo s Macros e ao VBA no Excel......................................................................... 11

    Lio 01: Uma Introduo s Macros............................................................................................ 12 Lio 02: O que so exatamente Macros??? ................................................................................ 15 Lio 03: Conhecendo do que feita uma Macro ......................................................................... 18 Lio 04: Operaes com Macros................................................................................................. 21 Lio 05: Associando botes com macros .................................................................................... 23 Lio 06: Introduo ao VBA......................................................................................................... 27 Lio 07: O Ambiente de programao o Editor VBA Parte I .................................................. 30 Lio 08: O Ambiente de programao o Editor VBA Parte 2 ................................................. 33 Lio 09: VBA - Declarao de Variveis...................................................................................... 36 Lio 10: VBA - Clculos, Operadores Aritmticos e Exemplos.................................................... 40 Lio 11: VBA - Estrutura If...Then e os Operadores de Comparao.......................................... 45 Lio 12: Estruturas For...Next, Do...While e Do...Until................................................................. 50 Lio 13: VBA - Funes do VBA Funes de Tipo Parte 1.................................................... 56 Lio 14: VBA - Funes do VBA Funes de Tipo Parte 2.................................................... 61 Lio 15: VBA - Funes do VBA Funes de Converso de Tipo Parte 1 ............................ 64 Lio 16: VBA - Funes do VBA Funes de Converso de Tipo Parte 2 ............................ 68 Lio 17: VBA - Funes do VBA Funes Para Tratamento de Texto ..................................... 70 Lio 18: VBA - Funes do VBA Data, Hora e Funes Matemticas...................................... 74 Lio 19: VBA - O Conceito de Mdulos, Procedimentos e Funes Parte I ............................. 82 Lio 20: VBA - O Conceito de Mdulos, Procedimentos e Funes Parte II ............................ 89 Lio 21: VBA Criando Funes Personalizadas Parte I......................................................... 92 Lio 22: VBA Um exemplo prtico calculando o DV do CPF - Algoritmo.............................. 96 Lio 23: Usando o VBA Para Criar uma Funo de Validao do DV do CPF............................ 98 Lio 24: Usando a Funo ValidaCPF, Criada na Lio 21....................................................... 102 Lio 25: Mais Alguns Exemplos de Funes Personalizadas.................................................... 103 Lio 26: Mais Alguns Exemplos de Funes Personalizadas.................................................... 109 Lio 27: Concluso do Mdulo 1 ............................................................................................... 113

    Mdulo 2 O Modelo de Objetos do Excel ....................................................................................... 114 Lio 01: O que um Modelo de Objetos? ................................................................................. 115 Lio 02: Descrio dos Principais Objetos do Modelo de Objetos do Excel.............................. 119 Lio 03: O Microsoft Object-Browser: Navegando pela Hierarquia de Objetos ......................... 125 Lio 04: Objeto Application O Pai de Todos - Introduo ....................................................... 128 Lio 05: Objeto Application Como Declarar e Utilizar ............................................................. 131 Lio 06: Objeto Application Propriedades que Retornam Objetos Filho ................................. 135 Lio 07: Objeto Application Exibindo/Ocultando itens do Excel.............................................. 139 Lio 08: Objeto Application Habilitando/Desabilitando Recursos do Excel............................. 142 Lio 09: Objeto Application Associando Macros Teclas Especiais ...................................... 144 Lio 10: Objeto Application Operaes com Arquivos............................................................ 148 Lio 11: Objeto Application Reclculo da Planilha ................................................................. 153 Lio 12: Conceitos Avanados na Criao de Funes e Procedimentos................................. 155 Lio 13: Conceitos Avanados na Criao de Funes e Procedimentos................................. 158 Lio 14: Conceitos Avanados na Criao de Funes e Procedimentos................................. 163 Lio 15: Conceitos Avanados na Criao de Funes e Procedimentos................................. 166 Lio 16: Conceitos Avanados na Criao de Funes e Procedimentos................................. 170 Lio 17: Conceitos Avanados na Criao de Funes e Procedimentos................................. 172 Lio 18: A funo MsgBox em Detalhes.................................................................................... 178 Lio 19: A funo InputBox em Detalhes................................................................................... 181 Lio 20: O Tratamento de Erros no VBA Parte 1.................................................................... 185 Lio 21: O Tratamento de Erros no VBA Parte 2..................................................................... 189 Lio 22: O Tratamento de Erros no VBA Parte 3..................................................................... 192 Lio 23: O Tratamento de Erros no VBA Parte 4..................................................................... 194 Lio 24: O Tratamento de Erros no VBA Parte 5..................................................................... 198 Lio 25: O Tratamento de Erros no VBA Parte 6..................................................................... 201

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 7 de 527

    Lio 26: Concluso do Mdulo 2 ............................................................................................... 204 Mdulo 3 O Objeto Range e Exemplos Prticos............................................................................. 205

    Lio 01: Apresentao do Objeto Range................................................................................... 206 Lio 02: Objeto Range Outras Maneiras de Criar um Objeto Range...................................... 211 Lio 03: Objeto Range Outras Maneiras de Criar um Objeto Range...................................... 216 Lio 04: Objeto Range Column, Columns, Row e Rows Parte 1......................................... 219 Lio 05: Objeto Range Column, Columns, Row e Rows Parte 2......................................... 223 Lio 06: Objeto Range Principais Mtodos e Propriedades Parte 1.................................... 226 Lio 07: Objeto Range Principais Mtodos e Propriedades Parte 2.................................... 231 Lio 08: Objeto Range Principais Mtodos e Propriedades Parte 3.................................... 235 Lio 09: Objeto Range Principais Mtodos e Propriedades Parte 4.................................... 237 Lio 10: Objeto Range Principais Mtodos e Propriedades Parte 5.................................... 242 Lio 11: Objeto Range Principais Mtodos e Propriedades Parte 6.................................... 246 Lio 12: Objeto Range Principais Mtodos e Propriedades Parte 7.................................... 249 Lio 13: Objeto Range Principais Mtodos e Propriedades Parte 8.................................... 253 Lio 14: Objeto Range Principais Mtodos e Propriedades Parte 9.................................... 257 Lio 15: Objeto Range Principais Mtodos e Propriedades Parte 10.................................. 262 Lio 16: Exemplos Prticos de Uso dos Objetos do Excel Parte 1......................................... 265 Lio 17: Exemplos Prticos de Uso dos Objetos do Excel Parte 2......................................... 269 Lio 18: Exemplos Prticos de Uso dos Objetos do Excel Parte 3......................................... 272 Lio 19: Exemplos Prticos de Uso dos Objetos do Excel Parte 4......................................... 274 Lio 20: Exemplos Prticos de Uso dos Objetos do Excel Parte 5......................................... 277 Lio 21: Exemplos Prticos de Uso dos Objetos do Excel Parte 6......................................... 281 Lio 22: Exemplos Prticos de Uso dos Objetos do Excel Parte 7......................................... 285 Lio 23: Exemplos Prticos de Uso dos Objetos do Excel Parte 8......................................... 289 Lio 24: Exemplos Prticos de Uso dos Objetos do Excel Parte 9......................................... 292 Lio 25: Resumo do Mdulo...................................................................................................... 295

    Mdulo 4 Estudo dos Objetos Workbook e Worksheet................................................................... 296 Lio 01: Apresentao dos Objetos Workbook e Worksheet..................................................... 297 Lio 02: Objeto Workbook e Coleo Workbooks Mtodos e Propriedades .......................... 301 Lio 03: Objeto Workbook e Coleo Workbooks Mtodos e Propriedades .......................... 304 Lio 04: Objeto Workbook e Coleo Workbooks Mtodos e Propriedades .......................... 308 Lio 05: Mais Mtodos e Propriedades dos Objetos Workbook e Worksheets ......................... 311 Lio 06: Mais Mtodos e Propriedades dos Objetos Workbook e Worksheets ......................... 314 Lio 07: O Objeto WorkSheet Mtodos e Propriedades Parte 1 ......................................... 317 Lio 08: O Objeto WorkSheet Mtodos e Propriedades Parte 2 ......................................... 320 Lio 09: O Objeto WorkSheet Mtodos e Propriedades Parte 3 ......................................... 323 Lio 10: O Objeto WorkSheet Mtodos e Propriedades Parte 4 ......................................... 327 Lio 11: Eventos Conceitos e Definies ............................................................................... 330 Lio 12: Eventos Eventos do Objeto Worksheet .................................................................... 334 Lio 13: Eventos Eventos do Objeto Worksheet .................................................................... 338 Lio 14: Eventos Eventos do Objeto Workbook ..................................................................... 341 Lio 15: Eventos Eventos do Objeto Workbook ..................................................................... 344 Lio 16: Eventos Eventos do Objeto Application .................................................................... 348 Lio 17: Eventos Eventos do Objeto Application .................................................................... 351 Lio 18: Exemplos Prticos ....................................................................................................... 354 Lio 19: Exemplos Prticos ....................................................................................................... 357 Lio 20: Exemplos Prticos ....................................................................................................... 360 Lio 21: Exemplos Prticos ....................................................................................................... 363 Lio 22: Exemplos Prticos ....................................................................................................... 366 Lio 23: Exemplos Prticos ....................................................................................................... 369 Lio 24: Exemplos Prticos ....................................................................................................... 372 Lio 25: Resumo do Mdulo...................................................................................................... 375

    Mdulo 5 Criao de Aplicaes Usando UserForms .................................................................... 376 Lio 01: User Form Introduo e Conceito ............................................................................. 377 Lio 02: User Form Criando um Novo User Form .................................................................. 380 Lio 03: User Form Propriedades e Eventos.......................................................................... 384 Lio 04: User Form Trabalhando com a Caixa de Ferramentas............................................. 389

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 8 de 527

    Lio 05 User Form Trabalhando com a Caixa de Ferramentas.............................................. 392 Lio 06: User Form Trabalhando com Controles Parte 1 .................................................... 395 Lio 07: User Form Trabalhando com Controles Parte 2 .................................................... 398 Lio 08: User Form Trabalhando com Controles Parte 3 .................................................... 402 Lio 09: User Form Trabalhando com Controles Parte 4 .................................................... 405 Lio 10: User Form Caixa de Combinao............................................................................. 409 Lio 11: User Form Propriedades dos Controles Parte 1 .................................................... 412 Lio 12: User Form Propriedades dos Controles Parte 2 .................................................... 415 Lio 13: User Form Propriedades dos Controles Parte 3 .................................................... 418 Lio 14: User Form Propriedades dos Controles Parte 4 .................................................... 421 Lio 15: User Form Propriedades dos Controles Parte 5 .................................................... 424 Lio 16: User Form Propriedades dos Controles Parte 6 .................................................... 428 Lio 17: User Form Propriedades dos Controles Parte 7 .................................................... 431 Lio 18: User Form Propriedades dos Controles Parte 8 .................................................... 434 Lio 19: User Form Propriedades dos Controles Parte 9 .................................................... 437 Lio 20: User Form Propriedades dos Controles Parte 10 .................................................. 440 Lio 21: User Form Propriedades dos Controles Parte 11 .................................................. 443 Lio 22: User Form Propriedades dos Controles Parte 12 .................................................. 446 Lio 23: User Form Propriedades dos Controles Parte 13 .................................................. 449 Lio 24: User Form Propriedades dos Controles Parte 14 .................................................. 452 Lio 25: Resumo do Mdulo...................................................................................................... 455

    Mdulo 6 Controles e Exemplos Prticos ........................................................................................ 456 Lio 01: User Forms O controle Caixa de Listagem ............................................................... 457 Lio 02: User Forms O controle Caixa de Seleo................................................................. 460 Lio 03: User Forms O controle Boto de Opo - OptionButton........................................... 464 Lio 04: User Forms O controle Boto de ativao - ToggleButton........................................ 468 Lio 05: User Forms Os controles Boto de Comando e Frame ............................................ 472 Lio 06: User Forms O controle Barra de Rolagem................................................................ 475 Lio 07: User Forms O controle Boto de Rotao ................................................................ 478 Lio 08: User Forms O controle Image................................................................................... 481 Lio 09: Exemplos prticos para o seu dia-a-dia....................................................................... 484 Lio 10: Exemplos prticos para o seu dia-a-dia....................................................................... 487 Lio 11: Exemplos prticos para o seu dia-a-dia....................................................................... 490 Lio 12: Exemplos prticos para o seu dia-a-dia....................................................................... 493 Lio 13: Exemplos prticos para o seu dia-a-dia....................................................................... 496 Lio 14: Exemplos prticos para o seu dia-a-dia....................................................................... 499 Lio 15: Exemplos prticos para o seu dia-a-dia....................................................................... 502 Lio 16: Exemplos prticos para o seu dia-a-dia....................................................................... 505 Lio 17: Exemplos prticos para o seu dia-a-dia....................................................................... 508 Lio 18: Exemplos prticos para o seu dia-a-dia....................................................................... 511 Lio 19: Exemplos prticos para o seu dia-a-dia....................................................................... 513 Lio 20: Exemplos prticos para o seu dia-a-dia....................................................................... 515 Lio 21: Exemplos prticos para o seu dia-a-dia....................................................................... 518 Lio 22: Exemplos prticos para o seu dia-a-dia....................................................................... 521 Lio 23: Exemplos prticos para o seu dia-a-dia....................................................................... 523 Lio 24: Exemplos prticos para o seu dia-a-dia....................................................................... 525 Lio 25: Resumo do Mdulo...................................................................................................... 527

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 9 de 527

    Introduo

    Este um curso sobre programao VBA no Microsoft Excel. Neste curso voc aprender a utilizar uma srie de comandos e objetos do Excel, para implementar solues sofisticadas, as quais somente so possveis de serem implementadas com o uso de programao. As telas e exemplos foram criados usando o Excel 2000, porm a quase totalidade dos comandos so vlidos tambm para o Excel 97 e para o Excel XP.

    A programao utilizada para solucionar problemas no Excel, os quais no teriam como ser solucionados usando funes e comandos de planilha. Por exemplo, no existe uma funo no Excel para a validao do DV de um CPF ou CNPJ. Neste caso, somente usando programao, o usurio poder criar uma funo personalizada, a qual faz a validao do CPF e do CNPJ. Neste curso voc aprender, dentre outras coisas, a criar funes personalizadas, as quais atendem necessidades especficas. A seguir uma breve descrio do que ser abordado em cada mdulo do Curso.

    Mdulo 1: Neste mdulo voc aprender os fundamentos sobre Macros e VBA. Mostrarei exatamente o que uma macro, o que programao VBA, o ambiente de programao, as principais funes do VBA e como criar os primeiros programas. Os conceitos apresentados neste mdulo sero fundamentais para os demais mdulos do curso. Em todos os exemplos do curso, voc ir utilizar um ou mais conceito apresentado neste mdulo.

    Mdulo 2: Nas lies do Mdulo 2 voc aprender sobre o conceito de funes, sub-rotinas e mdulos. Mostrarei como criar funes que podem ser utilizadas em vrias planilhas de uma pasta de trabalho. Tambm apresentarei o conceito mais importante quando se trata de programao VBA; A Hierarquia de Objetos do Excel. Voc ver que com o uso dos Objetos do Excel possvel acessar qualquer elemento de uma planilha. Apresentarei o primeiro objeto na Hierarquia de Objetos: O Objeto Application.

    Mdulo 3: Neste mdulo continuarei o estudo sobre os objetos do Excel. Voc aprender sobre os objetos Workbook e Worksheet, dois importantes objetos, utilizados em uma srie de situaes. Alm da sintaxe, dos mtodos e propriedades dos objetos, apresentarei uma srie de exemplos prticos, os quais voc poder, facilmente, adaptar para uso nas rotinas que voc desenvolver.

    Mdulo 4: Este mdulo sobre o objeto Range, sem dvidas o objeto mais utilizado em programao VBA no Excel. O objeto Range representa uma ou mais faixas de clulas em um planilha do Excel. Qual problema que no envolve acessar dados de uma faixa de clulas e fazer clculos ou pesquisas em uma faixa? Praticamente todos. Por isso que o objeto Range , sem dvidas, o objeto mais utilizado na programao VBA no Excel. Voc aprender sobre os principais mtodos e propriedades deste objeto, alm de uma srie de exemplos prticos, os quais ilustram detalhadamente como funciona e como pode ser utilizado o objeto Range.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 10 de 527

    Mdulo 5: Neste mdulo voc aprender sobre UserForms. Com a utilizao de UserForms voc pode criar formulrios personalizados, semelhantes aos que podem ser criados usando linguagens de programao como o Visual Basic ou Delphi. Mostrarei como criar um UserForm, quais os controles disponveis e como utiliz-los, como funciona o modelo de eventos do Windows e uma srie de exemplos prticos para que voc possa comear a criar seus prprios formulrios personalizados.

    Mdulo 6: Neste ltimo mdulo do curso continuarei o estudo de UserForms, apresentando um estudo dos diversos controles que podem ser utilizados em um UserForm. Na seqncia apresentarei uma srie de exemplos prticos, os quais voc certamente utilizar no seu trabalho do dia-a-dia. Apresentarei exemplos de uso dos principais objetos da Hierarquia de objetos do Excel.

    Este curso foi especialmente projetado para torn-lo mais produtivo com o Microsoft Excel. O domnio da programao VBA permite que voc implemente solues para problemas que no teriam soluo, somente com o uso de Funes de Planilha e comandos do Excel. O domnio da programao VBA exige dedicao, estudo e muita experimentao. Sem nenhuma dvida um esforo que vale a pena.

    o meu mais sincero desejo que este curso possa ser de grande utilidade para voc, ajudando-o a utilizar todos os recursos disponveis nesta fantstica ferramenta que a Programao VBA no Excel. Um bom estudo e muito sucesso.

    Para enviar suas dvidas referentes aos assuntos e exemplos abordados neste curso, para enviar sugestes de alteraes/correes, para sugerir novos cursos, para criticar e para elogiar (porque no?), s entrar em contato pelo e-mail: [email protected].

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 11 de 527

    Mdulo 1 Introduo s Macros e ao VBA no Excel

    Neste mdulo voc aprender os fundamentos sobre Macros e VBA. Mostrarei exatamente o que uma macro, o que programao VBA, o ambiente de programao, as principais funes do VBA e como criar os primeiros programas. Os conceitos apresentados neste mdulo sero fundamentais para os demais mdulos do curso. Em todos os exemplos do curso, voc ir utilizar um ou mais conceito apresentado neste mdulo.

    Vou iniciar o mdulo mostrando como criar uma macro e como verificar o Cdigo VBA que criado, o qual na prtica quem faz o trabalho da macro. Tambm mostrarei como associar teclas de atalho e botes de comando com uma Macro.

    O prximo passo ser aprender a utilizar o Ambiente de Programao do VBA, tambm chamado de Editor do VBA. Voc aprender a criar cdigo, a navegar atravs dos objetos disponveis e a utilizar os vrios recursos de ajuda fornecidos pelo Editor. Mostrarei as diversas partes que compem o Editor do VBA e como utiliz-las.

    Em seguida passarei ao estudo da linguagem VBA propriamente dita. Estes tpicos so a base da linguagem, os quais sero utilizados em todos os exemplos prticos do curso. Voc aprender sobre os fundamentos do VBA, tais como:

    Declarao de variveis Tipos de dados Operadores aritmticos Valores lgicos Operadores lgicos Estrutura de controle Estruturas de deciso Estruturas de repetio Exemplos de utilizao

    Seguindo o nosso estudo, apresentarei as principais funes internas do VBA. Farei a apresentao dividindo as funes em categorias, tais como funes de Data/Hora, funes de texto e assim por diante. Para encerrar o mdulo voc aprender sobre o conceito de Mdulos, procedimentos e funes. Este conceito muito importante para que voc aprenda a criar cdigo que possa ser reaproveitado. Isso aumenta, e muito, a sua produtividade no uso do VBA,

    Ento mos obra. Chega de apresentaes e rodeios e vamos iniciar o nosso estudo da programao VBA no Excel. Um bom estudo a todos e no esquea: em caso de dvidas sobre os exemplos apresentados neste curso, entre em contato pelo e-mail: [email protected]

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 12 de 527

    Lio 01: Uma Introduo s Macros

    Introduo:

    Existem situaes onde no conseguimos resolver um determinado problema, simplesmente utilizando os comandos e frmulas do Excel (embora existam milhares de funes disponveis no Excel). Nessas situaes temos que fazer o uso de recursos como Macros e Programao. A linguagem de programao do Excel o VBA Visual Basic for Applications. O VBA a linguagem de programao para todos os aplicativos do Microsoft Office: Word, Excel, Access e PowerPoint.

    Nas lies desse mdulo voc aprender sobre Macros e sobre os fundamentos da linguagem VBA. Mostrarei o que uma Macro, para que serve, quando devemos usar Macros, como criar e alterar Macros. Em seguida voc aprender os fundamentos bsicos da linguagem VBA.

    Nas lies desse mdulo veremos os conceitos tericos da linguagem VBA. Nas lies do prximo mdulo, veremos exemplos de aplicao do VBA para a soluo de problemas prticos, os quais no poderiam ser solucionados sem o uso de programao.

    O que so Macros??

    Nesse tpico apresentaremos uma viso geral sobre Macros. Nas prximas lies iremos detalhar os vrios aspectos relacionados Macros.

    Caso voc execute uma tarefa vrias vezes no Microsoft Excel, possvel automatiz-la com uma macro. Uma macro uma seqncia de comandos e funes armazenados em um mdulo de cdigo do VBA e pode ser executada sempre que voc precisar executar a tarefa. Quando voc grava uma macro, o Excel armazena informaes sobre cada etapa realizada medida que voc executa uma seqncia de comandos. Em seguida, voc executa a macro para repetir, ou "reproduzir", os comandos.

    Por exemplo, vamos supor que, seguidamente, voc precisa formatar uma clula com Negrito, cor de fonte Vermelha, Itlico, Fonte Verdana de Tamanho 13, com quebra automtica de linha. Ao invs de ter que executar todos os comandos de formatao em cada clula, voc pode criar uma Macro que aplica todos os comandos de formatao. Aps criada a Macro, cada vez que voc tiver que aplicar o conjunto de comandos de formatao, basta executar a Macro, o que normalmente feito atravs da associao de uma combinao de teclas com a Macro, como por exemplo Ctrl+L. No nosso exemplo, cada vez que voc quisesse formatar uma clula com os formatos descritos, bastaria clicar na clula e pressionar Ctrl+L. Bem mais fcil do que aplicar cada comando individualmente.

    Voc pode Gravar uma macro para realizar uma tarefa em uma etapa: Antes de gravar uma macro, planeje as etapas e os comandos que voc deseja que a macro execute. Se cometer um erro durante a gravao da macro, as correes feitas tambm sero gravadas como comandos da macro. Ao gravar macros, o VBA armazena cada macro em um novo mdulo de cdigo VBA, anexado a uma pasta de trabalho (arquivo .xls).

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 13 de 527

    Por exemplo, se voc insere com freqncia seqncias de caracteres de texto extensas nas clulas, voc pode gravar uma macro para formatar essas clulas de maneira que o texto retorne automaticamente. Selecione a clula em que deseja inserir o retorno automtico de texto e inicie a gravao da Macro. Clique em Clulas no menu Formatar, clique na guia Alinhamento, marque a caixa de seleo Retorno automtico de texto, clique em OK e, em seguida, clique em Parar gravao (voc ver exemplos prticos nas prximas lies).

    Como Tornar uma macro fcil de ser executada: Voc pode executar uma macro escolhendo-a de uma lista na caixa de dilogo Macro. Para que uma macro seja executada sempre que voc clicar em um boto especfico ou pressionar determinada combinao de teclas, voc pode atribuir a macro a um boto da barra de ferramentas, a um atalho no teclado ou um objeto grfico em uma planilha. Veremos como fazer essas atribuies nas prximas lies.

    Como Exibir e alterar macros: Depois de gravar uma macro, voc poder exibir o cdigo da macro com o Editor do VBA para corrigir erros ou alterar a funo da macro. O Editor do VBA um programa criado para facilitar a escrita e a edio de cdigo de macro para principiantes e fornece bastante Ajuda on-line. Voc no precisa aprender a programar ou a usar a linguagem do Visual Basic para fazer alteraes simples nas suas macros. Nas prximas lies veremos como exibir e editar macros.

    Na Figura a seguir temos um exemplo de cdigo associado com uma Macro. Esse um exemplo de cdigo VBA:

    Como Gerenciar suas macros Com o Editor do VBA: Voc pode editar macros, copiar macros de um mdulo para outro, copiar macros entre pastas de trabalho diferentes, renomear os mdulos que armazenam as macros ou renomear as macros. Por exemplo, se voc quisesse que a macro de retorno automtico de texto, do exemplo anterior, tambm deixasse o texto em negrito, voc poderia gravar outra macro para aplicar negrito a uma clula e copiar as instrues dessa macro para a macro de retorno automtico de texto.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 14 de 527

    Segurana da macro: O Microsoft Excel 2000 fornece proteo contra vrus que podem ser transmitidos atravs das macros. Se voc compartilha macros com outros usurios, voc pode certific-las com uma assinatura digital de forma que os outros usurios possam verificar que as macros so de origem confivel. Sempre que voc abrir uma pasta de trabalho que contenha macros, poder verificar a origem das macros antes de ativ-las.

    Programao no Excel A linguagem VBA:

    As Macros so uma excelente soluo quando queremos automatizar uma tarefa que realizada atravs de uma srie de cliques de mouse ou digitaes no teclado. Porm existem situaes mais complexas, que envolvem clculos ou uma lgica mais apurada, onde no possvel encontrar a soluo do problema, simplesmente usando os comandos ou frmulas prontas do Excel.

    Nessas situaes temos que fazer uso de programao. Um programa (ou mdulo como chamado no Excel) uma seqncia de comandos VBA, onde cada comando executa um passo especfico, necessrio resoluo do problema.

    Nota: Para um melhor aproveitamento e entendimento do VBA importante que o amigo leitor j tenha uma noo bsica de Lgica de Programao. Voc encontra um excelente curso de Lgica de Programao no seguinte endereo: www.webaula.com.br. O curso gratuito, apenas necessrio fazer um cadastro no site, cadastro esse que tambm gratuito.

    Por exemplo, vamos supor que voc precisasse fazer a verificao do CPF que digitado em uma clula. O clculo do DV do CPF, o qual de domnio pblico, envolve uma srie de operaes aritmticas. Para implementar uma funo que faz a verificao do DV do CPF, voc ter que fazer uso de programao.

    Por isso que, conforme descrito anteriormente, nas lies desse mdulo veremos os comandos bsicos da linguagem VBA, para aplic-los em alguns exemplos prticos nas lies dos demais mdulos deste curso.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 15 de 527

    Lio 02: O que so exatamente Macros???

    Conforme descrito anteriormente, uma macro uma seqncia de comandos (cliques de mouse ou toques de teclado) que so gravados em um Mdulo VBA e podem ser executados, sempre que necessrio. A grande vantagem de gravarmos uma seqncia de comandos que poderemos utiliz-la sempre que necessrio. Para isso basta executar a macro na qual foi gravada a seqncia de comandos.

    As Macros so uma excelente opo para automatizar tarefas repetitivas. Com o uso de Macros temos um ganho de produtividade considervel, ao evitar que tenhamos que executar manualmente, os diversos passos de uma tarefa, passos estes que podem ser automatizados atravs do uso de uma macro. Cada comando do Excel ou clique na planilha representado por um ou mais comandos VBA, na Macro.

    Existem duas maneiras distintas para a criao de uma macro:

    Podemos usar o gravador de Macros: Nesse caso o Excel grava cada uma das aes que faro parte da Macro e transforma essas aes nos comandos VBA equivalentes. Quando a macro for executada, os comandos VBA que sero efetivamente executados. Cada comando VBA corresponde a uma ao efetiva da macro. Criar a Macro usando VBA: A partir do momento em que voc domina a linguagem VBA, poder criar a macro digitando os comandos VBA necessrios. Isso feito usando o Editor de VBA, conforme veremos nas prximas lies.

    Melhor do que definies a prtica!!

    Melhor do que uma srie de definies ver uma Macro em ao. Vamos a um exemplo simples, onde criaremos uma Macro. Em seguida vamos execut-la . Na prxima lio analisaremos o cdigo VBA criado pelo gravador de macros.

    Exemplo 1: Criar uma macro usando o Gravador de Macros. A macro dever formatar a clula atual com Negrito, cor de fonte Vermelha, com fundo cinza. Gravar a macro com o nome de FormataVermCinza.

    1. Abra o Excel. 2. Abra a Planilha C:\Programao VBA no Excel\Mdulo 1 Exerccio 01.xls. 3. Clique na clula A4. 4. Agora vamos iniciar a gravao da Macro. 5. Selecione o comando Ferramentas -> Macro -> Gravar nova macro. 6. Ser exibida a janela Gravar Macro. 7. No campo Nome da macro digite: FormataVermCinza. 8. No campo Tecla de atalho digite L. Observe que o Excel troca para Ctrl+Shift+L. Isso acontece porque a combinao Ctrl+L j deve estar associada com algum comando do Excel. Com isso estamos associando a combinao Ctrl+Shift+L com a macro FormataVermCinza, ou seja, cada vez que quisermos executar essa macro basta pressionar Ctrl+Shift+L. 9. O campo descrio simplesmente uma descrio da funcionalidade da macro. Digite o texto indicado na Figura a seguir:

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 16 de 527

    10. Clique em OK. A gravao da Macro ser iniciada. Todos os comandos que voc executar, durante a gravao da Macro, faro parte da Macro.

    11. Uma nova barra ( ) exibida na planilha do Excel. Essa barra utilizada para parar a gravao da Macro. Agora devemos escolher os comandos que faro parte da macro. Aps ter executado os comandos que faro parte da macro, basta clicar no boto ( ) para encerrar a gravao da Macro. 12. Clique no boto ( ) para aplicar Negrito. 13. Na lista de Cores da fonte ( ) selecione Vermelho. 14. Na lista de Cores de fundo ( ) selecione Cinza. 15. Clique no boto ( ) para encerrar a gravao da Macro. 16. Agora a macro FormataVermCinza foi criada e podemos utiliza-la sempre que necessrio.

    Para executar a macro FormataVermCinza faa o seguinte:

    1. Clique na Clula B7. 2. Pressione Ctrl+Shift+L. 3. A macro FormataVermCinza executada e as formataes definidas pela macro (Negrito, fonte Vermelha e fundo Cinza) so automaticamente aplicadas na Clula B7. Veja que com um simples comando de teclado, executo uma srie de comandos (nesse exemplo: trs comandos de formatao). Esse exemplo nos d uma pequena idia do poder e facilidade do uso das macros. 4. Tambm possvel executar a macro usando o comando Ferramentas -> Macro -> Macros. 5. Clique na clula B5. 6. Selecione o comando Ferramentas -> Macro -> Macros. 7. Ser exibida a janela Macro, onde so listadas todas as macros existentes na pasta de trabalho atual (no arquivo carregado no Excel), conforme indicado na Figura a seguir:

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 17 de 527

    8. Clique na Macro FormataVermCinza para selecion-la. 9. Clique no boto Executar. 10. A Macro ser executada e as respectivas formataes sero aplicadas clula B5. 11. A sua planilha deve estar conforme indicado na Figura a seguir:

    12. Mantenha a planilha aberta, pois iremos utiliz-la na prxima lio.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 18 de 527

    Lio 03: Conhecendo do que feita uma Macro

    Na Lio anterior podemos ver uma macro em ao. Criamos uma macro chamada FormataVermCinza. Essa macro composta por trs comandos de formatao. Cada vez que a macro executada, os trs comandos de formatao so novamente executados e aplicados clula onde esta o cursor ou na faixa de clulas selecionadas. At aqui tudo OK. Nenhuma novidade. A pergunta que pode surgir :

    Como que o Excel faz isso?

    Ou de outra forma:

    Do que feita uma macro?

    Conforme veremos nessa lio, uma macro gravada no Excel como uma seqncia de comandos VBA. Por exemplo, ao clicarmos no boto ( ), para a aplicao de negrito, o Excel gera um comando VBA que faz a formatao em negrito. Nessa lio aprenderemos a acessar o cdigo VBA gerado pelo Excel (embora ainda no sejamos capazes de entender esse cdigo).

    Para acessar os comandos VBA associado com uma macro, siga os seguintes passos:

    1. Voc deve estar com a planilha C:\Programao VBA no Excel\Mdulo 1 Exerccio 01.xls aberta, se no estiver, abra-a. 2. Selecione o comando Ferramentas -> Macro -> Macros. 3. Ser exibida a janela Macro. 4. Clique na macro FormataVermCinza para selecion-la. 5. Clique no boto Editar. 6. O Editor do VBA ser carregado e sero exibidas as seguintes linhas de cdigo:

    Sub FormataVermCinza() '

    ' FormataVermCinza Macro ' Macro que faz a formatao em fonte Vermelha, Negrito e ' fundo Cinza. '

    ' Atalho do teclado: Ctrl+Shift+L '

    Selection.Font.Bold = True Selection.Font.ColorIndex = 3 With Selection.Interior

    .ColorIndex = 15

    .Pattern = xlSolid End With

    End Sub

    Esses so os comandos VBA (por enquanto no se preocupe se voc no entender o que significa cada comando, pois este ser exatamente o objeto de estudo deste curso, ou seja,

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 19 de 527

    Programao VBA) que formam a macro FormataVermCinza. Apenas para adiantar um pouco o assunto, a seguir descrevo o que faz cada um dos principais comandos dessa Macro:

    Selection.Font.Bold = True

    Esse comando aplica a formatao em Negrito para a clula onde est o cursor (ou no conjunto de clulas selecionadas), quando a macro executada.

    Selection.Font.ColorIndex = 3

    Esse comando aplica cor de fonte Vermelha para a clula onde est o cursor (ou no conjunto de clulas selecionadas), quando a macro executada.

    With Selection.Interior

    .ColorIndex = 15

    .Pattern = xlSolid End With

    Esses comandos aplicam a cor de fundo cinza, na clula onde est o cursor (ou no conjunto de clulas selecionadas), quando a macro executada.

    Esses so comandos da linguagem VBA. Com o uso do VBA temos acesso a todos os comandos e funes do Microsoft Excel, alm de muitos outros recursos no diretamente disponveis atravs dos menus de comandos e das funes de planilha do Excel, ou seja, recurso que somente esto disponveis atravs da programao VBA. Tudo o que voc faz usando o teclado e o mouse, tambm possvel de ser feito com o uso do VBA, porm de uma maneira automatizada. O uso de macros especialmente indicado naquelas situaes em que temos um conjunto de comandos que precisam ser executados, repetidamente, em diferentes situaes. Nesses casos muito mais prtico criar uma macro composta pelo conjunto de comandos e, cada vez que os comandos precisarem ser executados, executar a macro.

    Na Figura a seguir, apresento uma viso do Editor do Visual Basic. Veremos mais detalhes sobre esse editor nas prximas lies, quando comearmos a trabalhar com o VBA.

    7. Selecione o comando Arquivo -> Fechar e Voltar para o Microsoft Excel. 8. Voc estar de volta planilha C:\Programao VBA no Excel\Mdulo 1 Exerccio 01.xls. 9. Salve e feche a planilha.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 20 de 527

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 21 de 527

    Lio 04: Operaes com Macros

    Nessa lio aprenderemos a renomear, excluir e fazer outras alteraes em macros. Tambm aprenderemos a alterar outras opes associadas com a Macro, tal como o comando de teclado (tecla de atalho) para executar a macro.

    Existem algumas operaes que podem ser feitas com uma macro, aps a sua criao. A mais bvia (e o motivo pelo qual uma macro criada) para executar a macro. Alm da execuo possvel executar outras operaes com uma macro, conforme descrito a seguir:

    Para renomear uma macro siga os seguintes passos:

    1. Abra o arquivo onde est a macro a ser renomeada. 2. Selecione o comando Ferramentas -> Macro -> Macros. 3. Ser exibida a janela Macro. 4. Clique na macro a ser renomeada para selecion-la. 5. Clique no boto Editar. 6. Ser aberto o editor do VBA. O nome da macro vem logo aps o comando Sub da primeira linha, conforme destacado na Figura a seguir:

    Renomeando uma Macro.

    7. Para renomear a macro basta alterar o nome aps o comando Sub e depois clicar no boto ( ) para salvar as alteraes. 8. Em seguida s fechar o Editor de VBA.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 22 de 527

    Para excluir uma macro siga os seguintes passos:

    1. Abra o arquivo onde est a macro a ser excluda. 2. Selecione o comando Ferramentas -> Macro -> Macros. 3. Ser exibida a janela Macro. 4. Clique na macro a ser excluda para selecion-la. 5. Clique no boto Excluir. 6. O Excel emite um aviso solicitando que voc confirme a excluso, conforme indicado na Figura a seguir:

    Confirmando a excluso da macro.

    7. Clique em Sim para confirmar a excluso ou em No para cancelar a excluso da macro.

    Para alterar a tecla de atalho e o comentrio associado com uma macro, siga os seguintes passos:

    1. Abra o arquivo onde est a macro a ser alterada. 2. Selecione o comando Ferramentas -> Macro -> Macros. 3. Ser exibida a janela Macro. 4. Clique na macro a ser alterada para selecion-la. 5. Clique no boto Opes... 6. Ser exibida a janela Opes de Macro, onde voc pode alterar a tecla de atalho e o comentrio associado com a macro, conforme indicado na Figura a seguir:

    Janela de Opes da Macro.

    7. Faa as alteraes desejadas e clique em OK.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 23 de 527

    Lio 05: Associando botes com macros

    Nessa lio criaremos mais uma macro de exemplo. Alm da criao da macro aprenderemos a criar um novo boto, na Barra de Ferramentas do Excel e a associar esse boto com a macro. Dessa forma toda vez que precisarmos executar a macro, bastar clicar no boto associado com a macro.

    Exemplo 2: Criar uma macro usando o Gravador de Macros. A macro dever formatar As clulas selecionadas com formato Contbil, com duas casas decimais, cor de fonte Vermelha e Itlico. Gravar a macro com o nome de FormataContbil. Criar um boto de comando na Barra de Ferramentas padro e associar esse boto com a macro FormataContbil.

    1. Abra o Excel. 2. Abra a Planilha C:\Programao VBA no Excel\Mdulo 1 Exerccio 02.xls. 3. Clique na clula F2. 4. Agora vamos iniciar a gravao da Macro. 5. Selecione o comando Ferramentas -> Macro -> Gravar nova macro. 6. Ser exibida a janela Gravar Macro. 7. No campo Nome da macro digite: FormataContbil. 8. Na lista Armazenar macro em, selecione a opo Esta pasta de trabalho. 9. O campo descrio simplesmente uma descrio da funcionalidade da macro. Digite o texto indicado na Figura a seguir:

    Definio do nome e da descrio da macro FormataContbil.

    10. Clique em OK. A gravao da Macro ser iniciada. Todos os comandos que voc executar, durante a gravao da Macro, faro parte da Macro.

    11. Uma nova barra ( ) exibida na planilha do Excel. Essa barra utilizada para parar a gravao da Macro. Agora devemos escolher os comandos que faro parte da macro. Aps ter executado os comandos que faro parte da macro, basta clicar no boto ( ) para encerrar a gravao da Macro. 12. Clique no boto ( )) para aplicar Itlico.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 24 de 527

    13. Na lista de Cores da fonte ( ) selecione Vermelho. 14. Selecione o comando Formatar -> Clulas. Clique na opo Contbil e selecione duas casas decimais, conforme indicado na Figura a seguir:

    Formatao Contbil com duas casas decimais.

    15. Clique em OK. 16. Clique no boto ( ) para encerrar a gravao da Macro. 17. Agora a macro FormataContbil foi criada e podemos utiliza-la sempre que necessrio.

    Agora vamos aprender como associar um boto com a macro FormataContbil.

    Para associar um boto com uma macro siga os seguintes passos:

    1. Clique com o boto direito do mouse em uma das barras de ferramentas do Excel. Por exemplo, clique com o boto direito do mouse na rea cinza, ao lado do boto ( ). 2. No menu que exibido clique na opo Personalizar. 3. Ser exibida a janela Personalizar. 4. Clique na guia Comandos. 5. Na lista de Categorias que exibida d um clique na opo Macros conforme indicado na Figura a seguir:

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 25 de 527

    A opo Macros da guia Comandos.

    6. Clique no boto ( ) e arraste-o para a barra de ferramentas padro, ao lado esquerdo do boto ( ), conforme indicado na Figura a seguir:

    Arrastando o boto que ser associado com a Macro.

    7. A janela Personalizar ser fechada e o boto ( ) ser adicionado barra de ferramentas padro. 8. D um clique no boto ( ). 9. Ser exibida a janela Atribuir macros. Nessa janela voc pode selecionar a macro que ser associada com o boto, isto , a macro que ser executada quando voc clicar no boto. 10. Clique na macro FormataContbil para selecion-la, conforme indicado na Figura a seguir. 11. Clique em OK. 12. Pronto, agora o boto ( ) est associado com a macro FormataContbil.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 26 de 527

    Associando a macro FormataContbil com o boto.

    13. Vamos testar se o boto est funcionando. 14. Clique na clula F10. 15. Clique no boto ( ). 16. Observe que a macro executada e as respectivas formataes so aplicadas clula F10. Isso comprova que o boto ( ) est associado macro FormataContbil. 17. Salve e Feche a planilha.

    Muito bem, sobre macros basicamente isso: O que so Macros?, Como criar, como editar, como excluir e como associar um boto de comando. A partir da prxima lio vamos iniciar o estudo da linguagem de programao VBA.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 27 de 527

    Lio 06: Introduo ao VBA

    Nas lies iniciais desse mdulo aprendemos a criar macros simples, as quais reproduzem uma srie de comandos de mouse e teclado. Para que possamos criar macros mais sofisticadas e resolver problemas mais complexos com o Excel, precisamos utilizar programao VBA. Conforme descrito anteriormente, a linguagem de programao do Excel (e de todos os aplicativos do Office) o VBA: Visual Basic for Application.

    Uma linguagem de programao, basicamente, um conjunto de comandos, rotinas, objetos e funes que executam tarefas especficas. Considere o exemplo genrico a seguir, onde so utilizados comandos para acessar uma tabela do access a partir de uma planilha do Excel:

    Comentrios iniciais do Programa. Acessa dados da tabela pedidos do banco de dados C:\Meus documentos\vendas.mdb

    Acessar o banco de dados Acessar a tabela Pedidos Aplicar um filtro para Pas=Brasil Exibir os dados obtidos na planilha atual Formatar a primeira linha com negrito Formatar a primeira linha com fonte azul

    Encerrar a macro

    Por que eu preciso aprender a usar o VBA?

    A utilizao de Macros em conjunto com os recurso do VBA nos oferece um grande nmero de opes na busca por solues para os problemas mais complexos. Porm existem situaes em que, por mais que saibamos utilizar todos os recursos, comandos e funes do Excel, essa utilizao no capaz de solucionar o problema proposto. Nestas situaes temos que utilizar programao. Muitos usurios acreditam que possvel solucionar todo e qualquer problema usando somente os comandos e funes do Excel. Isso no verdade. Existem situaes onde voc ter que criar suas prprias rotinas e funes, para solucionar um determinado problema. E isso s pode ser feito com o uso de programao.

    Muitos usurios entram em contato via email, dizendo: Por favor, me d uma soluo que no envolva programao, no quero saber de programao. Respeito a opinio de todos, mas fugir da programao, significa abrir mo dos recursos mais poderosos que o Excel disponibiliza, significa ficar sem poder solucionar problemas mais complexos. A programao uma ferramenta realmente til. E voc ver, no decorrer deste curso, que programao no nenhum bixo de sete cabeas.

    A linguagem de programao utilizada pelo Microsoft Excel o VBA - Visual Basic for Applications. Conforme veremos a partir de agora esta uma linguagem, ao mesmo tempo, extremamente simples e poderosa. Com o VBA temos acesso completo a todos os elementos de todos os objetos de uma planilha do Excel. Tambm temos acesso a elementos externos, tais como bancos de dados do Access.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 28 de 527

    Com cdigo VBA podemos criar uma rotina para validao do dgito verificador de uma clula que contm um valor de CPF, CNPJ ou de um campo NmeroDoProcesso; podemos criar cdigo que percorre todas as linhas de uma planilha, alterando os valores de uma ou mais colunas, com base em uma ou mais condies, podemos automatizar rotinas para importao e exportao de dados e assim por diante.

    Nesta introduo a linguagem VBA, trataremos dos seguintes assuntos:

    1. Programao com o Microsoft Excel. 2. Introduo a linguagem VBA - Visual Basic For Applications. 3. Aprendendo VBA:

    Uma viso geral. O Ambiente de Programao. Anatomia dos Mdulos do VBA. Tipos de dados. Variveis. Escopo de Variveis. Estruturas de controle, etc.

    4. Exerccios e Exemplos. 5. Funes e procedimentos. 6. Funes de Data e Hora.

    Programao com o Microsoft Excel - Por que utilizar?.

    O VBA nos oferece possibilidades de controle e personalizao para criar aplicativos que vo alm das aes de macro.

    O VBA uma linguagem de programao interna do Microsoft Excel (na prtica a linguagem de programao para todos os aplicativos do Office: Access, Word, Excel e PowerPoint). Usamos o VBA pelo mesmo motivo que utilizamos macros - para automatizar tarefas e rotinas repetitivas, envolvendo os diversos elementos do banco de uma planilha (clulas, faixas de clulas, grficos, planilhas, funes, realizar clculos, etc.). No entanto, o VBA oferece maior poder e controle mais detalhado do que as aes de macro.

    Na prtica as aes de macro duplicam as operaes que podemos realizar manualmente, usando o mouse para executar comandos nos menus e o teclado. O VBA vai alm da simples automao de seqncias de aes. Ele oferece um conjunto de ferramentas que lhe permite criar aplicaes personalizadas com base nos elementos do Excel e nos objetos de planilha do Excel. Por exemplo, podemos criar uma rotina em VBA em uma planilha do Excel. Esta rotina pode acessar dados em uma segunda planilha que est na rede, em um drive mapeado em um servidor. A mesma rotina alm de acessar os dados pode fazer clculos, consolidaes, gerar os resultados no formato de uma planilha do Excel e salvar a planilha na rede ou publicar os dados no formato HTML, no servidor da Intranet da empresa. Este apenas um pequeno exemplo do que pode ser feito como o VBA.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 29 de 527

    Vantagens em utilizarmos o VBA:

    Nas primeiras lies deste mdulo, j utilizamos macros e aprendemos a automatizar algumas tarefas como a aplicao de formatos personalizados. O VBA apresenta, em relao as macros, as seguintes vantagens:

    Acessando dados de uma ou mais planilhas: Com aes de macros estamos limitados a operar com os dados atualmente sendo exibido na pasta de trabalho atual O VBA permite trabalhar com qualquer conjunto de dados, quer seja da pasta de trabalho atual, quer seja de outra pasta de trabalho na rede ou com outros formatos de dados, como por exemplo de arquivos .txt ou bancos de dados do Microsoft Access.

    Manipulao de objetos: O VBA oferece mtodos de criao e modificao dos objetos de uma planilha no Excel (assunto que ser abordado nas lies dos Mdulos 2,3, 4, alm de uma srie de exemplos prticos, apresentados no Mdulo 6). Chamamos de objeto qualquer elemento do Microsoft Excel, por exemplo: uma planilha, uma faixa de clulas, um grfico, etc.

    Criao de funes definidas pelo usurio: Este um dos maiores benefcios do VBA. Podemos criar funes que executam clculos repetitivos. Por exemplo, vrios planilhas podem conter um campo CPF ou CNPJ. Poderamos criar, em cada planilha, o cdigo necessrio para a validao do DV do CPF ou do CNPJ. Porm este procedimento no o mais indicado, pois alm da duplicao do cdigo necessrio a validao, teramos dificuldades para fazer atualizaes neste cdigo, pois cada alterao necessria teria que ser feita em vrios locais. O ideal criarmos uma funo para validao do DV (uma funo deve ser criada dentro de um mdulo. Trataremos disso mais adiante.). Em cada planilha, onde for necessria a utilizao da funo, chamamos a funo, passando o valor do CPF como parmetro. A funo calcula o DV e retorna o resultado para a planilha. Desta maneira precisamos criar uma nica funo. Quando forem necessrias alteraes, basta alterar a funo (em um nico local, ou seja, no mdulo onde a funo foi criada) e todos os formulrios passaro a utilizar a verso atualizada da funo.

    Definio de condies e controle de fluxo: O VBA oferece uma variedade de comandos e estruturas para a realizao de testes condicionais e para a repetio de um conjunto de comandos. Aprenderemos a utilizar todas as estruturas de controle de fluxo e testes condicionais, mais adiante.

    Realizao de clculos complexos e soluo de problemas que envolvem uma lgica complexa: Com macros impossvel a realizao de clculos mais complexos, simplesmente atravs da automao de comandos de teclado e mouse. Tambm no possvel a resoluo de problemas que envolvem uma lgica complexa, como por exemplo clculo do imposto de renda, recolhimentos de tributos, etc.

    Muito bem, esta lio foi para fazer uma apresentao do VBA e convenc-lo de quo til este recurso.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 30 de 527

    Lio 07: O Ambiente de programao o Editor VBA Parte I

    O Microsoft Excel fornece um ambiente de programao bastante poderoso, com uma srie de recursos que facilitam a criao de cdigo VBA. Neste tpico vamos aprender a utilizar os aspectos bsicos do Ambiente de Programao do VBA. O ambiente de programao um editor que facilita a criao de cdigo. Dentro do ambiente de programao, so oferecidas uma srie de facilidades e dicas para que o Programador possa encontrar, facilmente, os objetos disponveis, bem como os mtodos e propriedades de cada objeto.

    Se no tivssemos disponvel um Ambiente de Programao, teramos que lembrar da sintaxe de todos os comandos, dos mtodos e propriedades dos objetos. Convenhamos que isso praticamente impossvel, pois com o VBA temos acesso a milhares de objetos ( isso mesmo: milhares de objetos, comandos e funes. Por enquanto estou utilizando bastante o termo objeto, sem t-lo explicado ainda. Mais adiante detalharei o conceito de classes, mdulos e objetos). Cada objeto pode ter dezenas de propriedades, mtodos e colees (alguns tem centenas de propriedades e mtodos).

    O ambiente de Desenvolvimento fornece uma srie de facilidades para a criao de cdigo VBA. Por exemplo, ao digitar o nome de um objeto e um ponto ser aberta, automaticamente, uma lista com todos os mtodos e propriedades deste objeto. Ao invs de lembrar do nome dos mtodos/propriedades, basta selecion-los em uma lista. Se selecionarmos um mtodo, ao digitarmos o parnteses de abertura, ser exibida uma lista com os argumentos esperados pelo mtodo, bem como o tipo (texto, nmero, data, etc) de cada argumento. Se digitarmos um comando incorretamente, o Ambiente de Desenvolvimento emite uma mensagem e coloca em destaque o comando que foi digitado incorretamente. Estas so apenas algumas das facilidades fornecidas pelo Ambiente de Desenvolvimento do VBA.

    Para conhecermos melhor o referido ambiente, vamos a um exemplo prtico. Vamos abrir uma planilha, que contm uma macro chamada AplicaNegrito e editar essa macro. Lembre que para editar uma macro, temos que acessar o cdigo VBA associado macro. Isso feito no Editor do VBA, ou seja, no Ambiente de Desenvolvimento do VBA.

    Exemplo 3: Acessar o Editor VBA para alterar a macro AplicaNegrito, da planilha C:\Programao VBA no Excel\Mdulo 1 Exerccio 03.xls.

    1. Abra o Excel. 2. Abra a Planilha C:\Programao VBA no Excel\Mdulo 5 Exerccio 03.xls. 3. Como j existem macros nesta planilha, o Excel pede uma confirmao, perguntando se voc deseja ativar as macros existentes, conforme indicado na prxima figura. Essa confirmao solicitada devido ao perigo representado pelos vrus de Macro, que podem afetar os aplicativos do Microsoft Office. 4. Clique no boto Ativar Macros. 5. A planilha ser aberta. 6. Nessa planilha existe uma macro chamada AtivaNegrito. Vamos editar essa macro. O nosso objetivo conhecer alguns detalhes sobre o Ambiente de Desenvolvimento do VBA.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 31 de 527

    Confirmao para ativao de macros, na abertura da planilha.

    7. Selecione o comando Ferramentas -> Macro -> Macros... 8. Ser exibida a janela Macro. 9. Clique na macro AplicaNegrito para selecion-la. 10. Clique no boto Editar. 11. Ser aberto o editor do VBA e o cdigo associado macro AplicaNegrito. 12. Na Figura a seguir, temos a descrio de algumas partes da janela do editor VBA.

    O Editor VBA.

    No lado esquerdo da tela temos duas janelas:

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 32 de 527

    Project VBA Project: Nessa janela so exibidos os vrios elementos que fazem parte da Pasta de trabalho atual. Aqui so exibidas as planilhas e mdulos da pasta de trabalho (arquivo .xls) carregado no Excel. Ao criarmos uma macro podemos cria-la em uma determinada planilha. Os mdulos so utilizados para criar funes e procedimentos que podem ser chamados em todas as planilhas da pasta de trabalho atual. Aprenderemos mais sobre funes e procedimentos nas prximas lies.

    Janela na parte de baixo: A janela abaixo da janela Project, exibe as propriedades do elemento selecionado na janela Project. Por exemplo, ao selecionar Plan1, na janela Project, na janela de baixo sero exibidas as propriedades de Plan1, conforme indicado na Figura a seguir:

    7

    Propriedades do objeto selecionado em VBAProject.

    13. Feche o Editor do VBA e a planilha.

    Nas prximas lies veremos mais algumas funcionalidades do Editor VBA.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 33 de 527

    Lio 08: O Ambiente de programao o Editor VBA Parte 2

    Nesta lio mostrarei mais alguns importantes recursos do Ambiente de Programao do VBA. Mostrarei como o ambiente procura ajudar o programador, medida que este digita o seu cdigo. Tambm descreverei a estrutura de cdigo contida em uma planilha do Excel. Para mostrar as funcionalidades do ambiente de programao, utilizarei um exemplo prtico.

    Exemplo 4: Acessar o Editor VBA para aprender sobre as funcionalidades do ambiente de programao e sobre a estrutura de cdigo VBA em uma planilha.

    1. Abra o Excel. 2. Abra a Planilha C:\Programao VBA no Excel\Mdulo 1 Exerccio 04.xls. 3. Para abrir o Editor do VBA pressione Alt+F11 ou selecione o comando Ferramentas -> Macro -> Editor do Visual Basic. 4. O ambiente de programao do VBA ser aberto, conforme indicado na figura a seguir:

    O Editor do VBA.

    5. No lado esquerdo da janela, no painel VBAProject, so exibidas entradas para as diversas planilhas da pasta de trabalho atual (Grf1, Plan1, Plan2 e Plan3 para o nosso exemplo). Voc pode criar cdigos, funes e rotinas associadas com uma determinada planilha da pasta de trabalho. Uma funo ou rotina criada em uma planilha, poder ser utilizado somente dentro da planilha onde foi criada. As rotinas que devem estar disponveis para todas as planilhas da pasta de trabalho, devem ser criadas em Mdulos independentes de cdigo. No exemplo da Figura anterior, temos um mdulo chamado Mdulo 1. Para planilhas mais complexas, possvel criar vrios mdulos de cdigo, dividindo os procedimentos em categorais, tais como funes para clculos de data, funes de validao de dados, funes

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 34 de 527

    de clculos financeiros e assim por diante. Esta diviso facilita a localizao, manuteno e alterao das funes existentes. muito importnte que voc entenda este ponto. Vamos repetir para fixar bem. As rotinas de cdigo VBA em uma pasta de trabalho do Excel, podem ser criadas associadas com uma planilha ou com um Mdulo de cdigo. As rotinas que fazem parte de um mdulo de cdigo, podero ser utilizadas em qualquer planilha da pasta de trabalho onde o Mdulo foi criado.

    6. Conforme voc aprender nas lies do Mdulo 2, a programao VBA no Excel, faz uso de um grande conjunto de objetos. Cada objeto contm um grande nmero de mtodos e propriedades. O Editor do VBA facilita a utilizao dos mtodos e propriedades de um objeto, pois quando voc digita o nome do objeto e depois um ponto, o Excel exibe uma lista de todas as propriedades e mtodos do respectivo objeto. Esse recurso um dos que eu considero mais importantes, pois evitam de o programador ter que decorar o nome de todos os mtodos e propriedades e reduzem o nmero de vezes que o programador tem que consultar a Ajuda do Excel ou o manual de programao. No exemplo da Figura a seguir, estou utilizando o objeto Range (que voc estudar em detalhes neste curso). Ao digitar Range. , o Editor do VBA exibe uma lista de mtodos e propriedades do objeto Range, conforme indicado na Figura a seguir:

    7. Aps selecionar um mtodo e digitar o parnteses de abertura, o Editor VBA apresenta a lista de argumentos que deve ser fornecida para o mtodo selecionado, bem como o tipo de cada argumento, conforme indicado na Figura a seguir. Esta tambm uma dica valiosa, que evita erros e evita que o programador tenha que fazer uma srie de tentativas, at conseguir informar todos os parmetros corretamente:

    8. Outro recurso muito til do Editor VBA a janela Pesquisador de Objetos. Esta janela exibe uma listagem de todos as bibliotecas disponveis, bem como a lista de cada objeto de cada biblioteca, juntamente com todas as propriedades e mtodos de cada objeto. uma verdadeira jia, que facilita muito o trabalho do Programador. Para exibir a janela Pesquisador de Objetos, pressione a tecla F2 ou selecione o comando Exibir -> Pesquisador de objeto. Ser exibida a janela indicada na Figura a seguir:

    Nota: No Mdulo 2, apresentarei os conceitos de Biblioteca, Objetos, Mtodos e Propriedades, em mais detalhes.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 35 de 527

    9. Na lista Todas as Bibliotecas voc pode selecionar uma biblioteca especfica, para que o Pesquisador de objeto, use somente os objetos da Biblioteca selecionada. Por exemplo, selecione a biblioteca Excel. Sero exbidos apenas os objetos do Excel. Na lista de objetos, localize o objeto Range e clique para marc-lo. No painel da direita, ser exibida uma lista dos mtodos e propriedades do objeto Range, conforme indicado na figura a seguir:

    10. Para obter ajuda sobre um mtodo ou propriedade, clique no mtodo ou propriedade desejado e depois clique no boto ( ). A ajuda do Excel ser aberta, e ser carregada a pgina de ajuda sobre o mtodo ou propriedade selecionada. 11. Para fechar o Pesquiador de objeto, clique no boto x, da janela do Pesquisador de objeto. 12. Para fechar o Editor do VBA, selecione o comando Arquivo -> Fechar e voltar para o Microsoft Excel. Muito bem, agora voc j conhece os recursos do editor do VBA. O prximo passo aprender os fundamentos da linguagem VBA, para criar suas primeiras rotinas de programao.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 36 de 527

    Lio 09: VBA - Declarao de Variveis

    A partir desta lio, voc iniciar o estudo da lingaugem VBA. O VBA composto por uma srie de comandos bsicos, os quais fazem parte de praticamente toda linguagem de programao. So comandos para declarao de variveis, para realizao de operaes aritmticas e lgicas e comandos para fazer testes lgicos e para executar a repetio de um conjunto de comandos, com base em uma ou mais condies. Esses comandos bsicos sero utilizados em praticamente todos os exemplos deste curso e em qualquer rotina de programao que voc venha a desenvolver na prtica.

    Iniciaremos o nosso estudo de VBA pela definio do conceito de variveis a aprendendo a declarar variveis no VBA.

    Nota: A medida que os conceitos forem sendo apresentados, faremos alguns testes. Para os testes criarei uma macro chamada MacroTeste, a qual irei associar um combinao de teclas de Atalho: Ctrl+. Para testar os comandos, a medida que estes forem sendo apresentados, vamos acessar o cdigo VBA da macro MacroTeste (usando o Editor VBA) e inserir os comandos a serem testados. Em seguida voltaremos para a planilha e executaremos a Macro para testar os comandos. Para facilitar o processo de execuo da Macro usaremos a combinao de teclas Ctrl+T, a qual est associada macro. Vou utilizar uma planilha chamada Mdulo 1 Exemplos Bsicos VBA.xls. A seguir descrevo os passos para criao da MacroTeste e para associar a combinao Ctrl+T com esta macro. Voc criar a macro sem nenhum comando. Os comandos sero inseridos e testados, nos exemplos prticos, das lies deste mdulo.

    Exemplo:

    Para criar a macro MacroTeste, siga os passos indicados a seguir:

    1. Abra o Excel. 2. Abra a Planilha C:\Programao VBA no Excel\ Mdulo 1 Exemplos Bsicos VBA.xls. 3. Selecione o comando Ferramentas -> Macro -> Gravar nova macro... 4. Ser exibida a janela Gravar Macro. No campo Nome da macro:, digite MacroTeste. No campo Tecla de atalho, ao lado do Ctrl, digite T. Sua janela deve estar conforme indicado na Figura a seguir:

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 37 de 527

    5. Clique em OK. 6. Ser exibida a barra de gravao da Macro. Como queremos criar uma macro em branco, vamos parar a gravao da macro sem ter executado nenhum comando.

    7. Clique no boto ( ), da barra de ferramentas da macro ( ), para encerrar a gravao da macro MacroTeste. 8. Pronto, agora temos uma macro chamada MacroTeste, a qual no tem nenhum comando. A cada exemplo, voc ir alterar esta macro, inserindo comandos do VBA na Macro. Depois voc usar a combinao de teclas Ctrl+T, para testar o funcionamento da macro. A cada novo exemplo, os comandos do exemplo anterior sero apagados e os comandos do novo exemplo digitados.

    Declarao de variveis e tipos de dados:

    Uma varivel um espao na memria do computador, reservado para armazenar um ou mais valores. Fazemos referncia a este espao utilizando nomes, ou seja, atribumos nomes as variveis utilizadas no VBA. Como o valor armazenado pode variar, a medida que o cdigo VBA executado, estas estruturas so chamadas de variveis.

    No VBA, no obrigatrio a declarao de variveis. Porm recomendvel que declaremos todas as variveis, de tal forma que o cdigo fique mais claro e de fcil compreenso. Para declararmos uma varivel, utilizamos o comando Dim, conforem exemplificado abaixo:

    Dim x Dim nome Dim teste

    Neste caso estamos apenas declarando o nome da varivel, sem declarar de que tipo (texto, nmero inteiro, nmero com decimal, data, etc) a varivel. Uma varivel declarada sem tipo considerada do tipo Variant, o que na prtica significa que a varivel pode conter qualquer tipo de valor. Pode parecer uma prtica interessante a no declarao do tipo da varivel, porm isso altamente desaconselhvel. Se no declararmos o tipo, conforme descrito anteriormente, a varivel poder conter qualquer valor. Neste caso o que impede de um campo numrico conter valores de texto ou vice-versa??

    A sintaxe para o comando Dim a seguinte:

    Dim nome_da_varivel As tipo_da_varivel

    Tambm podemos declarar mais do que uma varivel, com um nico comando Dim. Para isto, basta separar os nomes das variveis, com vrgula, conforme exemplificado abaixo:

    Dim x, y, z As String Dim nome as Double Dim teste1, teste2 As Integer

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 38 de 527

    IMPORTANTE:

    Observe que definimos o tipo de cada varivel. O Tipo define quais dados podem ser armazenados em uma varivel. Por exemplo, variveis que armazenam valores numricos, no devem aceitar caracteres de texto. Variveis que armazenam datas, no devem aceitar datas invlidas, como por exemplo 30/02/2001. Toda varivel no VBA, do tipo Variant, isto significa que a varivel pode ser de qualquer tipo. O que define o tipo da varivel o valor que est armazenado no momento. Existem funes que converso de tipo, conforme veremos mais adiante.

    Tambm podemos utilizar variveis que no foram, explicitamente, declaradas com o comando Dim. Com isso, a varivel criada na memria, no momento da sua utilizao. Para fazer com que toda varivel tenha que ser, explicitamente, declarada, antes de ser utilizada, devemos utilizar o seguinte comando na seo de declarao do mdulo:

    Option Explicit

    Ao colocarmos este comando na seo de declarao do mdulo, estamos definindo que toda varivel deve ser declarada, antes de ser utilizada em uma expresso. Se tentarmos utilizar uma varivel no declarada, ser gerado um erro de compilao e a execuo dos comandos suspensa. Na Listagem 1, temos um exemplo simples de utilizao de variveis no declaradas explicitamente.

    Listagem 1 Utilizao de variveis no declaradas.

    Dim a As Integer Dim b As Integer a=5 b=2 c=a+b Msgbox "A varivel C vale: " & c

    Ao tentarmos executar este cdigo, tendo sido definida a opo "Option Explicit", obteremos a mensagem de erro indicada na prxima figura. Este erro acontece porque tentamos utilizar uma varivel c, varivel esta que no foi declarada.

    O tipo Variant formado de pequenas unidades, chamadas subtipos. Cada subtipo, identifica de que maneira os dados so armazenados em uma varivel do tipo Variant Por exemplo, variveis do subtipo Integer so armazenadas de uma maneira diferente de variveis do subtipo Long. Na Tabela a seguir temos uma descrio dos principais subtipos.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 39 de 527

    Tabela - Subtipos do tipo Variant disponveis no VBA:

    Subtipo Subtipo Empty O Valor zero para variveis numricas ou uma String de tamanho zero (

    ), para variveis de texto. Null A varivel no contm dados vlidos. Boolean Contm variveis que somente podem assumir dois valores:Verdadeiro ou

    Falso (True ou False). Byte Valor inteiro, na faixa de 0 at 255. Integer Valor inteiro, na faixa de -32768 at 32767. Currency Valores na faixa de 923.337.203.685.447,5808 at

    922.337.203.685.447,5807 Long Valor inteiro, na faixa de 2.147.483.648 at 2.147.483.647. Date(Time) um nmero que representa a data entre 01 de Janeiro do ano 100, at

    31 de Dezembro de 9999 (Olha o bug do ano 10000 chegando). String Texto de tamanho varivel, pode conter, aproximadamente, 2 bilhes de

    caracteres. Object Pode conter um objeto qualquer, como um Controle Activex, ou um Objeto

    COM+ Error Pode conter um nmero de erro.

    Antes de fazermos alguns exemplos prticos, vamos aprender um pouco mais sobre o uso de variveis no VBA. Vamos falar sobre operadores aritmticos e de comparao. Mas isso j assunto para a prxima lio.

  • Macros e Programao VBA no Excel

    Autor: Jlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

    Confira tambm o livro: Windows Server 2003 Curso Completo, 1568 pginas Pgina 40 de 527

    Lio 10: VBA - Clculos, Operadores Aritmticos e Exemplos

    Fazendo clculos e comparaes com o VBA Operadores Aritmticos.

    Para realizarmos clculos e comparaes entre variveis, utilizamos operadores. Neste item trataremos sobre operadores aritmticos e operadores de comparao.

    Fazendo clculos com os Operadores aritmticos

    Podemos realizar clculos no VBA, utilizamos operadores aritmticos. Na Tabela a seguir, temos uma descrio dos operadores que podemos utilizar:

    Operadores Aritmticos do VBA

    Operador Smbolo Descrio Adio + Soma o valor de duas ou mais variveis. Subtrao - Subtrao entre duas ou mais variveis. Multiplicao * Multiplica os valores de duas ou mais variveis. Diviso / Divide o valor de duas ou mais variveis. Inteiro da Diviso entre dois nmeros

    \ Retorna a parte inteira, da diviso entre dois nmeros.

    Exponenciao ^ x^y -> o valor do nmero x, elevado na potncia y Modulo Mod Retorna o resto de uma diviso de 2 nmeros.

    Considere o pequeno trecho de cdigo a seguir, onde declaramos as variveis x, y e z. Atribumos valores a essas variveis e em seguida fazemos algumas operaes. As linhas que iniciam com um apstrofe so simplesmente comentrios. Toda linha que iniciar com um aps