Programando em VBA Aula 02 Professor: Emerson Alencar
Procedimentos Sub e Function no VBA Um procedimento Sub é um grupo de sentenças de VBA que fazem uma ação, a maioria das macros são procedimentos Sub. Um procedimento Function é um grupo de sentenças que faz um cálculo e retorna um único valor, a função faz cálculos e retorna um valor único.
Exemplos de Procedimentos Sub e Function Sub ExibirMensagem() MsgBox “E isso é tudo, pessoal!” End Sub
Function RaizCubica(numero) Cubica = numero ^ (1/3) End Function
Nomeando Subs e Functions
O primeiro caractere tem que ser letra; Não pode usar espaço no nome; O VBA não distingue letras maiúscula e minúscula; Tamanho máximo de 255 caracteres.
Executando Procedimentos Sub
Sub RaizCubica() Num = Inputbox(“Inserir um número positivo”) MsgBox Num ^ (1/3) & “ é a raiz cúbica.” End Sub
No VBE Caixa de Diálogo Macro Botão Procedimento chamando outro Procedimento
Executando Procedimentos Function
Function RaizCubica(numero) Cubica = numero ^ (1/3) End Function Sub ChamarFunction() valor = RaizCubica(125) MsgBox valor End Function
Chamando através de uma fórmula na planilha
Gravação de Macros Nem tudo pode ser gravado;
Laços; Condicionais; Variáveis; Especificar tipos de dados Mensagem pop-up ...
Cuidados ao gravar a macro Exemplo: Configurar Página
Conceitos de Programação
Comentários
Documentação do programa; Lembrar por que fez algo; Descrever o que faz o código; Acompanhar mudanças no Código; Descrever variáveis; Inicia com um apóstrofo (‘); O VBA não interpreta um apóstrofo entre aspas Exemplo: Msg = “Caixa D’agua”
Variáveis Local reservado na memória. Usa o sinal de atribuição “=“; Exemplos:
X=1 TaxaDejuros = 0.075; x = x + 1;
Regras para nomear as variáveis:
Primeiro caractere deve ser letra; Não pode ter espaço; Não pode usar caracteres especiais; Pode utilizar underline; Máximo de 255 caracteres. Não pode utilizar nomes utilizados pelo VBA: dim, sub, if, end, etc.
Tipos de dados Tipo de Dados
Bytes usados
Série de valores
Boolean
2
True ou False
Integer
2
-32,768 a 32,767
Long
4
-2,147,483,648 a -2,147,483,647
Single
4
-3.402823E38 a 1.40129E45
Double (negative)
8
1.79769313486232E308 – 4.94065645841247E-324
Double (positivo)
8
4.94065645841247E-324 a 1.79769313486232E308
Currency
8
-922,337,203,685,477.5808 a -922,337,203,685,477.5807
Date
8
1/1/100 a 12/31/9999
String
1 por caractere
Varia
Object
4
Qualquer objeto definido
Variant
Varia
Qualquer tipo de dado
Definida pelo Usuário
Varia
Varia
Declarando variáveis Se não declarar usa tipo: variant Variant: O VBA usa para manipular linhas e cálculo O VBA Controla automaticamente, porém deve ter cuidado com a memória e velocidade. Antes de usar variáveis em um procedimento é importante declara-las, isso faz com que o programa seja mais rápido e use a memória de maneira mais eficiente Para forçar a declarar todas as variáveis que usa, insira a seguinte linha no módulo: Option Explicit, também pode encontrar essa opção em ferramentas – opções –guia editor
Extensão de Variáveis
Extensão
Como a variável é declarada
Apenas procedimento
Dim ou static
Apenas Módulo
Dim antes da declaração Sub ou Function
Todos os procedimentos em todos os módulos
Public antes da declaração Sub ou Function
Declarando variรกveis: Exemplo
Sub MinhaSub() Dim x As Integer Dim Primeiro As Long Dim TaxadeJuros As Sigle Dim DataDeHoje As Date Dim NomedoUsuario As Strin Dim MeuValor End Sub
Observações sobre Variáveis Não pode fazer: Dim i , j , k As integer (Só K) Variáveis Estáticas: Conservam seus valores até quando o procedimento termina.
Constantes Variáveis mudam seu valor; Contantes seus valores permanecem; Declarando constantes:
Const NumTrimestre As Integer = 4; Const TaxadeJuros = 0.0725 Const pi As Double = 3,14 Public Const AppNome As String = “PPJA”
O Excel contém vária constantes pré-definidas, que não precisam ser declaradas ( Ver Ajuda)
Exemplos de Declarações
x=1 x=x+1 x = (y * 2) / (Z * 2) CustoCasa =375000 AbrirArquivo = True Range(“OAno”).Value = 2007
Operadores
Função
Símbolo
Adição
+
Multiplicação
*
Divisão
/
Subtração
-
Exponencial
^
Total da Divisão (Parte Inteira)
\
Módulo aritmético
mod
Concatenação
&
Operadores Lógicos
Operador
O que ele faz
Not
Faz uma negação lógica em uma expressão
And
Faz uma Conjunção lógica em duas expressões
Or
Faz uma dijunção Lógica em duas expressões
XoR
Faz uma exclusão Lógica em duas expressões
Eqv
Faz uma equivalencia Lógica em duas expressões
imp
Faz uma implicação Lógica em duas expressões
Cont. Operadores L贸gicos
Operador =
Igual
>
Maior
<
Menor
>=
Maior e Igual
<=
Menor e Igual
<>
Diferente