Você está na página 1de 1

Resumo do VBA:

Objetos  Application, Workbooks, Worksheets, Sheets, Range, Cells,Charts


 Range(“A1:B10”)- seleciona uma área da planilha, p.ex. entre A1 e B10
 Cells(3,5)- seleciona uma célula, p.ex,> a célula da linha 3, coluna E
 Hierarquia: Application.Workbooks(“arquivo”).Worksheets(“teste”).Range(“A1”)
 Também escrito: Workbooks(1).Worksheets(1).Range(“A1”) ou Pasta1.Plan1.Range(“A1”)
Propriedades  Objeto.Método- Range(“A1”).Clear- define as ações no objeto, pode necessitar := para o atributo
/métodos  Objeto.Propriedade-Range(“A1”).ColorIndex=6 – define as características-cor/tamanho/, pode necessitar=
/autoexcutáveis para o atributo
 Macros autoexecutáveis-um procedimento que será executado ao realizar um evento (ação) na planilha.
P.ex.: ao clicar o botão do mouse na planilha ela é recalculada.
PROCEDIMENTOS  SUB....NOME(VARIÁVEIS)......INTRUÇÕES........END SUB
 CALL NOME DA SUB
 FUNCTION....NOME(VARIÁVEIS).....INTRUÇÕES.....NOME=EXPRESSÃO....END FUNCTION
Tipos de Variáveis  Números inteiros: integer (±32.768); long
 Números reais: single; double
 Datas: date
 Caracteres: string (65400-comp.fixo, 2 bilhões-comp.variável)
 Qualquer: variant
 Sufixos: long-&; single- !; double- #; string- $; integer- %; P. Ex.: Anel$
 Pessoal: Range, workbok, worksheet ( ao atribuir valor deverá usar a função SET). P.ex: Set A=Range(“A1:A3”)
Declaração de variáveis  Dim...NOME(DIMENSÕES)...AS...TIPO DA VARIÁVEL (a variável tem valor somente para o módulo se
declarada antes da SUB ou procedimento corrente, se declarada dentro da SUB
 Public (variável pode assumir valores em todos os módulos do projeto)
 Option Explicit ( obriga a declaração das variáveis), pode deixar automático nas opções do menu.
Interação com o usuário  MsgBox (“texto”,variável do botão) & variável- permite apresentar saída com botões de decisão (OK,
sim,não)
 InputBox (“texto”)- permite introduzir valores.
Operadores aritméticos +,-,*,/,^,&(concatenar),Mod(resto da divisão)
Operador de comparação =,>,>=,<,<=,<>(diferente)
Operadores lógicos AND(e),NOT(não),OR(ou)
Controle de fluxo  FOR......CONDIÇÃO....EXECUTE.....NEXT
 IF...CONDIÇÃO VERDADEIRA... THEN...EXECUTE...ELSE...EXECUTE....NEXT IF- (usa OR, AND)
 SELECT CASE...VARIÁVEL...CASE..CONDIÇÃO 1 VERDADEIRA...EXECUTE
CASE CONDIÇÃO 2 VERDADEIRA...EXECUTE....
...........................................
CASE ELSE....EXECUTE ( usa IS e TO)
 DO WHILE...Loop; DO UNTIL...Loop (While- testa enquanto cond.verdadeira; Until- testa enquanto falsa)
 GO TO nome da linha: ;GO SUB nome da sub;
 END(para o programa), EXIT(sai de uma function, do, sub,for), STOP
Funções matemáticas  Atn, Cos, Sin,Tan; Exp (exponenciação),Log,Sqr (raiz quadrada); Rnd (número aleatório); Abs (módulo do
número)
strings  Comparar strings- StrComp (string 1, string 2); se string 1=string 2 fornecerá “0”
 Indicar posição de ocorrência- InStr( string 1 pesquisada, string 2 desejada)
 Convertre em letras minúsculas- Lcase(string)
 Converter em letras minúsculas Ucase (string)
Datas/horas  Date, Time, Now (retorna a data e hora); Day, Month, Weekday, Year, Hour, Minute, Second
 Adicionar um valor- DateAdd(intervalo, valor, data inicial), sendo intervalo: “YYYY”(anos); “m”(meses),
“y”(dia do ano”, “d”(dias),”w”(dia da semana),”h”(hora),”n”(minutos),”s”(seg.)
 Diferença de datas- DateDiff (intervalo, data 1, data 2)
atalhos  Alt+F11-abre VBE; Esc- fecha VBE; F9- pto de interrupção; Ctrl+Shf + F9- desmarcar ptos
 F8- executar por linha; Ctrl+F8- executar até pto int.; F5- executar Macro; Esc- interrompe; F1- help
Erros  On Error Resume Next- Desvia a execução do código de erro para próxima linha
 On Error GoTo nome da linha: - desvia o programa para uma linha com nome
Outros  ´-sinal de início de um comentário
 Espaço+_+Enter-pular para a próxima linha, sem quebrar a sequência
 Nome+:- nomeia a linha (necessário quando se usa GoTo)
Exemplo:calcule quantos dias se passaram de seu nascimento

Sub teste() ' inicia a Sub


Dim inicio As String ' define tipo de variável
Dim dias As Integer ' define tipo de variável
inicio = InputBox("quando nasceu em dia/mes/ano")’ atribui valor a variável
dias = DateDiff("d", inicio, Now) ' efetua a operação coma função DateDiff
MsgBox ("se passaram ") & dias & (" dias") ' apresenta valores
End Sub ' termina a rotina da Sub

Você também pode gostar