Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
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
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
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)
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
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