Você está na página 1de 4

Guia de VBA

Guia resumido em Português para programação em Visual Basic for Application (VBA)
http://www.jorgepaulino.com/

Variáveis e Constantes
Dim varname[([subscripts])] [As [New] type] [, varname[([subscripts])] [As [New] type]] . . .
[Public | Private] Const constname [As type] = expression

Tipos de Dados
Variant tipo genérico
Boolean True ou False
Byte 0 até 255
Integer -32.768 até 32.767
Long -2.147.483.648 até 2.147.483.647
-3,402823E38 até -1,401298E-45 (para valores negativos)
Single
1,401298E-45 até 3,402823E38 (para valores positivos)
-1,79769313486232E308 até -4,94065645841247E-324 (negativos)
Double
4,94065645841247E-324 até 1,79769313486232E308 (positivos)
Currency -922.337.203.685.477,5808 até 922.337.203.685.477,5807
Date 1 de Janeiro de 100 até 31 de Dezembro de 9999
1 até aproximadamente 2 biliões de caracteres
String
65.400 caracteres se tamanho fixo
Type definido pelo utilizador
Object referência a objectos

Visibilidade e Âmbito
Public Visível em todos os módulos
Private ou Dim Visível dentro do seu módulo
Dim Visível dentro do seu procedimento
Static Visível dentro do seu procedimento e preservando o valor da variável

Operadores Aritméticos Operadores Comparação Operadores Lógicos


+ Adição = Igual And Um e o outro Expr1 And Expr2
- Subtracção > Maior Or Um ou o outro Expr1 Or Expr2
- Negação < Menor Eqv Equivalente Expr1 Eqv Expr2
* Multiplicação >= Maior ou Igual Imp Implicação Expr1 Imp Expr2
/ Divisão <= Menor ou Igual Xor Exclusivo Expr1 Xor Expr2
\ Divisão de Inteiros <> Diferente Not Negação Not Expr
^ Exponenciação Like Comparação
Mod Módulo

Operador Like:
* - grupo de caracteres, ? - caracter, # - digito, [lista] um qualquer na lista, [!lista] não na lista

Procedimentos/Funções
[Private | Public | Friend] [Static] Sub nome [(lista argumentos)]
[...]
[Exit Sub]
[...]
End Sub

www.jorgepaulino.com - 2014 (v2)


[Public | Private | Friend] [Static] Function nome [(lista argumentos)] [As tipo]
[...]
[nome = expression]
[Exit Function]
[...]
[nome = expression]
End Function

Argumentos
ByVal (By Value) A variável é passada com o valor, não alterando o valor da variável inicial.
ByRef (By Reference) A variável é passada por referência, alterando o valor da variável original
Optional Define um argumento como opcional sendo necessário indicar o valor por defeito.
ParamArray Definir múltiplos argumentos. Só usado no final e os argumentos são do tipo Variant.

Ciclos For
For contador = inicio To fim [Step step] For Each elemento In grupoElementos
[...] [...]
[Exit For] [Exit For]
[...] [...]
Next [contador] Next [elemento]

Ciclos Do
Do [{While | Until} condição] Do While condição
[...] [...] [...]
[Exit Do] [Exit Do] Wend
[...] [...]
Loop Loop [{While | Until} condição]

Estruturas de Decisão
If condition Then Select Case testexpression
[...] [Case expressionlist-n
[ElseIf condição-n Then [statements-n]]
[elseifstatements] ...
... [Case Else
[Else [elsestatements]]
[elsestatements]] End Select
End If

If condição Then código [Else elsestatements]

Mensagens
Msgbox Mostra uma mensagem ao utilizador
InputBox Mostra uma mensagem, onde se insere um valor, retornando sobre a forma de string

Funções Texto
Len Devolve o número de caracteres na string
Right Devolve um determinado número de caracteres à direita
Left Devolve um determinado número de caracteres à esquerda
Mid Devolver um determinado número de caracteres, onde é indicado o início e/ou fim
LTrim Limpa os espaços à esquerda
RTrim Limpa os espaços à direita
Trim Limpa os espaços à direita e esquerda
LCase Converte o texto para minusculas
UCase Converte o texto para maisculas
StrConv Converte o texto para um determinado formato (ex. Proper Case)
StrReverse Devolve o texto na ordem inversa

www.jorgepaulino.com - 2014 (v2)


InStr Devolve a posição de um determinado texto, no texto indicado, começando no inicio
InStrRev Devolve a posição de um determinado texto, no texto indicado, começando no fim
Replace Devolve um texto, substituindo parte dele, de acordo com determinado critério

Funções Data/Hora
Now Mostra a data e hora actual
Date Mostra a data actual
Time Mostra a hora actual
Day Devolve o dia da data indicada
Month Devolve o mês da data indicada
Hour Devolve a hora de uma hora indicada
Minute Devolve o minuto de uma hora indicada
Second Devolve o segundo de uma hora indicada
Year Devolve o ano da data indicada
DateSerial Devolve uma data de acordo com o ano,mês e dia especificado
TimeSerial Devolve uma hora de acordo com o hora,minuto e segundo especificado
DateAdd Devolve uma data, adicionando um determinado intervalo
DateDiff Devolve um número especifico entre duas datas, de acordo com um determinado intervalo
DatePart Devolve um determinado valor, com base em uma parte da data
Weekday Devolve o dia da semana indicada
WeekdayName Devolve em extenso ou abreviado o dia da semana indicada

Funções Numéricas
Abs Devolve o valor absoluto de um número
Cos Devolve o cosseno de um angulo
Exp Retorna um valor elevado a uma potência
Sin Retorna um valor com o seno de um número
Sqr Retorna um valor com a raiz quadrada de um número
Tan Retorna um valor com a tangente de um número
Rnd Retorna um número aleatório
Val Retorna um número de uma string

Formatação
FormatDateTime Devolve o texto formatado, com o formato de Data/Hora
FormatCurrency Devolve o texto formatado, com o formato de Moeda, definido no sistema operativo
FormatNumber Devolve o texto formatado, com o formato de Número, definido no sistema operativo
FormatPercent Devolve o texto formatado, com o formato de Percentagem
Format Devolve o texto formatado de acordo com um determinada expressão

Pré-definidas Data/Hora
General Date, Long Date, Medium Date, Short Date, Long Time, Medium Time, Short Time

Personalizado Data/Hora
Mostrar o Dia: d (1-31), dd (01-31), ddd (Dom-Sab), dddd (Domingo - Sabado)
Mostrar o Mês: m (1-12), mm (01-12), mmm (Jan-Dez), mmmm (Janeiro - Dezembro)
Mostrar o Ano: yy (00-99), yyyy (100-9999)
Mostrar a Hora: h (0-23), Hh (00-23)
Mostrar a Minuto: N (0-59), Nn (00-59)
Mostrar a Segundo: S (0-59), Ss (00-59)
q - Mostra o trimestre (1-4)
y - Mostra o dia do ano (1-366)
w - Mostra o dia da semana (1 = Domingo, 7 = Sábado)
ww - Mostra o número da semana (1-54)

Pré-definidas Formatos Numéricos


General Number, Currency, Fixed, Standard, Percent, Scientific

Personalizados Formatos Numéricos


0 - Mostra um digito ou 0
# - Mostra um digito ou nada

www.jorgepaulino.com - 2014 (v2)


Conversões
CBool Converte um valor para o tipo Boolean
CByte Converte um valor para o tipo Byte
CCur Converte um valor para o tipo Currency
CDate Converte um valor para o tipo Date
CDbl Converte um valor para o tipo Double
CInt Converte um valor para o tipo Integer
CLng Converte um valor para o tipo Long
CSng Converte um valor para o tipo Single
CStr Converte um valor para o tipo String
CVar Converte um valor para o tipo Variant

Funções de validação (resultado booleano)


IsDate Verifica se uma string é uma data
IsNumeric Verifica se uma string é um número
IsArray Verifica se uma variável é uma matriz (array)
IsMissing Verifica se um argumento opcional não foi indicado
IsNull Verifica se uma variável é NULL
IsEmpty Verifica se uma variável não foi inicializada

Funções de Arrays (matrizes)


Dim variavel() [As tipo]
Dim variavel([0 To n], [...]) [As tipo]

Redim Realoca um determinado espaço a um array dinamicamente


Redim Preserve Realoca um determinado espaço a um array dinamicamente, preservando os valores
Ubound Devolve o tamanho máximo alocado de um array, de uma determinada dimensão
Lbound Devolve o tamanho minimo alocado de um array, de uma determinada dimensão
Split Separa uma string, de acordo com determinado critério, para um array

Dim variavel() As tipo Dim variavel(0) As tipo


Redim [Preserve] variavel(0) variavel(0) = descricao
variavel(0) = descricao

Tratamento de Erros
On Error Goto <label> Em caso de erro salta para a label indicada
On Error Resume Next Em caso de erro, ignora-o, executando o restante código
On Error Goto 0 Desactiva o tratamento de erros no procedimento corrente
Err (objecto) Permite-nos ver o número do erro, a descrição, a fonte, etc
Goto Salta para a label indicada

[Sub | Function] nome( ) [Sub | Function] nome( )


On Error GoTo TratamentoErro On Error Resume Next
[...] [...]
Exit [Sub | Function]
TratamentoErro: End [Sub | Function]
[...]
End [Sub | Function]

Objecto Err
Err.Description Mostra a descrição do erro
Err.Number Mostra o número do erro
Err.Clear Limpa o erro
Err.Raise Origina um erro com um número especificado

www.jorgepaulino.com - 2014 (v2)

Você também pode gostar