Objetos no VBA
Objetos no VBA
• Ao executarmos uma macro todas as tarefas
realizadas ficaram gravadas na pasta de
trabalho que foram escritas numa linguagem
de programação chamada Visual Basic
Application.
• Para verificar o que foi criado com o gravador
de macro do Excel, clicar na guia
Desenvolvedor, escolher Visual Basic ou
pressionar as teclas <ALT>+<F11>.
Tela do MS Visual Basic Applications
Objetos
Procedimentos
Project
Explorer
Módulo
Janela de
Propriedades
Projeto VBAProject
Nome do arquivo de projeto (*.xlsm), as planilhas existentes
neste suplemento e os códigos existentes em cada uma delas.
Propriedades
Nome do módulo em uso e as propriedades atuais deste módulo,
neste exemplo somente a propriedade Name está sendo visualizada.
Módulos
• Nesta janela temos o módulo atual, ou seja, toda
a descrição das tarefas a serem executadas.
• São procedimentos que constituem a unidade
básica do código em VBA.
• Podemos classificá-lo como uma sequência de
instruções que ensinam ao Excel o que fazer.
• A maioria dos módulos do Excel poderá ter mais
de um procedimento.
Para criar um Módulo
1. Posicionar o cursor sobre a Pasta de
Trabalho,
2. Clicar no menu Inserir, escolher Módulo.
Para renomear um Módulo
1. Na janela Propriedades, clique sobre o
Módulo 1 e renomeie
2. Escreva: a_caixas_diálogo
Todo Procedimento poderá começar com Sub ou Function, seguido de um
espaço, o nome do procedimento e um par de parênteses, seguido de
instruções a serem seguidas.
Objetos
• O Visual Basic Application é uma linguagem de
programação orientada a Eventos.
• Temos vários objetos dentro de um aplicativo,
por exemplo, uma barra de ferramentas, uma
planilha aberta, uma caixa de texto, etc.
• O Excel possuí mais de 400 Objetos.
• Para visualizar os objetos:
– Clicar no Menu Exibir,
– Escolher Pesquisador de Objetos.
Para visualizar os Objetos
• Clicar no Menu Exibir,
• Escolher Pesquisador de Objetos.
• Ou Clicar no ícone Pesquisador de Objetos
Objetos
• Alguns objetos aparecem listados duas vezes:
– AddIn e AddIns, Border e Borders.
• Os objetos que se encontram no plural são objetos
chamados de COLEÇÕES.
• Os objetos no VBA formam uma hierarquia:
– No topo encontra-se o objeto Application, é o EXCEL,
– Nos níveis abaixo temos Workbooks, AddIns, Dialogos,
MenuBars, ToolBar, Windows...
• Para nos referirmos a eles é necessário digitar a coleção
que ele pertence e o objeto.
Application.WorkBooks(“Minha Planilha”)
Objetos
• Na maioria das vezes, fazemos referências a uma planilha ou células
dessa planilha, portanto objetos ativos, que podem ser os
seguintes:
• ActiveCell
• ActiveDialog
• ActiveMenuBar
• ActivePrinter
• ActiveWindow
• ActiveChart
• ActiveX
• ActivePanel
• ActiveSheet
• ActiveWorkBook
Digitar o seguinte procedimento:
Para executar utilize o botão Executar ou
clicar no menu Executar, escolher Executar Sub/User Form ou
Dentro da subrotina pressionar a tecla <F5>
A Macro é um procedimento, que por sua vez é um conjunto de instruções que
passamos para o Excel executar.
Já os objetos são itens a serem alterados nestas instruções.
Métodos e Propriedades
Digitar o procedimento abaixo:
1. A macro se iniciou com Sub, pois é
uma sub-rotina.
2. Terminou com End Sub.
3. Encontramos as seguintes
instruções:
Selection.Style=“Currency”
Nesta instrução, informamos ao Excel
que a seleção atual (selection – área
selecionada), desejamos alterar o
estilo dos valores para Currency, ou
seja:
1. Selecionamos o objeto (Selection)
2. Alteramos a propriedade deste
objeto (Style)
3. Para o formato (Currency).
Métodos
Toda ação que não utilizam o sinal de igualdade, para definir
o valor da propriedade são chamadas de Métodos.
Selection.Style=“Currency” -> Propriedade Estilo é igual a Currency
Selection.Copy -> Método (Ação)
Ao pedir para copiar uma determinada célula, o Excel não
pede nenhuma informação adicional, ou seja, não é uma
propriedade para o qual se atribui um valor.
Localizando Procedimentos
A maneira mais rápida de localizar procedimentos na
janela do Visual Basic Application é utilizar a caixa de
combinação Procedimentos:
Variáveis de Memória
As variáveis no VBA armazenam valores das
propriedades, os resultados de cálculos.
Um variável é um valor que será armazenado na
memória do computador enquanto o procedimento
está rodando.
Ao terminar de executar o procedimento esta
VARIÁVEL é removida da memória.
Regras para Nomeação em VBA
Para nomear procedimentos, constantes, variáveis e
argumentos em quaisquer um dos módulos, sempre obedeça
a seguinte regra:
• Não utilize pontos, espaços, virgulas, exclamação ou
caracteres com símbolos ($,@,#,etc)
• O nome deve iniciar com Letras de A-Z.
• O nome não pode exceder 255 caracteres.
• Como nome, não utilize palavras reservadas ao sistema,
por exemplo, nomear uma variável com nome de
WorkSheet, que é um objeto do MS-Excel.
Adicionando Comentário ao Código
Um comentário irá auxiliar o usuário a respeito do
funcionamento do código(procediemento).
Para criar um comentário utilize o apostrofo (‘) no início
de cada linha.
Ele é apresentado em verde
Definindo Variáveis
As variáveis podem armazenar Valores e Objetos.
Ao atribuir um valor a uma variável podemos fazê-lo utilizando seu
nome o sinal de igualdade e o valor correspondente à mesma:
NomeDaVariavel=Valor
Ao atribuir um objeto de referência a uma variável além de utilizar
o sinal de igualdade, devemos colocar a palavra chave Set(Fixar)
no início da instrução:
Set MeuObjeto=Range(“A1”)
Digitar o seguinte procedimento:
No exemplo acima temos 5 Variáveis com tipos diferentes.
Para ver como as mesmas são armazenadas na memória, faça:
1. Clicar no Menu Exibir,
2. Escolher Variáveis Locais,
3. Vá pressionado a tecla <F8>.
Digitar o seguinte procedimento:
Digitar na célula A1: Green Treinamento e escrever o procedimento abaixo
Declarando Variáveis de Memória
Apesar o VBA não exigir que as variáveis sejam declaradas, devemos fazê-lo
sempre.
Ao declarar uma variável estamos informando ao VBA para reservar uma
quantidade de memória para prender o conteúdo da variável declarada.
É possível minimizar o espaço requerido para as variáveis ao especificar o
tipo de dado que a mesma deverá armazenar.
Para declarar uma variável faça:
Dim NomeDaVariavel As TipoDaVariavel
Nota: Ao utilizar a instrução Option Explicit, na seção de declarações (início
do procedimento), obrigamos o VBA a exigir que todas as variáveis sejam
declaradas.
Tipos de Dados
Tipo de Campo
Tipo de Variável
Texto
String
Número
Integer, Long, Double ou Single
Moeda
Currency
Sim/Não
Boolean
Data/Hora
Date
Variante
Variant
Variant é um tipo especial de variável, caso declare as variáveis como Variant,
qualquer tipo de dado poderá ser armazenado na mesma.
Se não declarar o tipo da variável o Excel assume Variant, o que requer mais
espaço de memória os demais tipo.
Download

Objetos no VBA