24.08.2020 Views

Programando o Excel ® Vba Para Leigos - 2ª Ed 2013 NoDRM (1)

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

164 Parte III: Conceitos de Programação

Programando procedimentos

que lidam com eventos

Um procedimento VBA executado em resposta a um evento é chamado

de um procedimento que lida com evento. Esses são sempre procedimentos

Sub (em oposto aos procedimentos Function). Escrever esses

manejadores de evento é relativamente direto depois que você entende

como funciona o processo. Tudo se resume em algumas etapas, as

quais explico a seguir:

1. Identifique o evento que deseja para acionar o procedimento.

2. Pressione Alt+F11 para ativar o Visual Basic Editor.

3. Na Janela de Projeto VBE, clique duas vezes o objeto adequado

listado sob Microsoft Excel Objetos.

Para eventos relacionados à pasta de trabalho, o objeto é EstaPasta_de_Trabalho.

Para um evento relacionado à planilha, o objeto é

Worksheet (tal como Plan1).

4. Na janela Código do objeto, escreva o procedimento que lida

com evento que é executado quando o evento ocorre.

Este procedimento terá um nome especial que o identifica como

um procedimento que lida com evento.

Estas etapas tornam-se mais claras na medida em que você se adianta

no capítulo. Confie em mim.

Aonde Vai o Código VBA?

É muito importante entender aonde vão os seus procedimentos que

lidam com evento. Eles precisam ficar na janela Código de um módulo

Objeto. Eles não ficam em um módulo VBA padrão. Se você puser o seu

procedimento que lida com evento no lugar errado, ele simplesmente

não vai funcionar. E você não vê quaisquer mensagens de erro.

A Figura 11-1 mostra a janela VBE com um projeto exibido na janela

Projeto (para saber mais sobre o VBE, veja o Capítulo 3). Observe que

o projeto VBA para Pasta1 está totalmente expandido e consiste de

vários objetos:

55

Um objeto para cada planilha na pasta de trabalho (neste caso,

três objetos Plan1)

55

Um objeto nomeado Estapasta_de_trabalho

55

Um módulo VBA que eu inseri manualmente, usando o comando

Inserir➪Módulo.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!