Apostilas de VBA para download

Olá Pessoal!

Estou passando por aqui só para avisar que disponibilizei na barra lateral do blog três apostilas de VBA para download.

Criei essas apostilas quando trabalhava na diretoria de Controladoria da Oi, para dar aula de VBA para algumas pessoas da minha equipe.

Usando os ensinamentos dessas apostilas, vocês conseguirão otimizar bastante o Excel, criando planilhas bem interessantes!

Espero que esse material seja de grande utilidade, principalmente para aqueles que estão iniciando no mundo do VBA!!!!

 

Abs, Dr. Excel

Operadores Aritméticos com Variáveis, MsgBox e Chr – VBA

Oi Pessoal!

Dando continuidade ao post Declaração de Variáveis VBA (comandos Dim e Option Explicit), vou falar sobre os operadores aritméticos que são usados em cálculos e comparações entre variáveis no VBA.

A tabela abaixo contém os principais operadores.

Como exemplo de utilização desses operadores, considere o pequeno trecho de código a seguir, onde declaramos as variáveis x, y e z, atribuímos valores a essas variáveis e em seguida efetuamos algumas operações.

Obs: as linhas que iniciam com apóstrofe são usadas como comentários, sendo desconsideradas pelo VBA na execução do código. Sugiro a inclusão de lembretes e comentários para facilitar o entendimento das linhas de código. É importante mantermos organização e padronização nas Macros que criamos para facilitar o entendimento e a manutenção.

 

Exemplo de uso de operadores aritméticos:

 

‘ Exemplo de utilização de variáveis e operadores aritméticos
‘ Declaração de variáveis.

Dim x, y, z As Integer
x = 10
y = 25
z = x*y

‘ Nesse exemplo a variável z conterá o valor 250

 

Exemplo de código:

 

Sub Operadores_Aritméticos()

‘ Declaração de variáveis.

Dim x As Integer

Dim y As Integer

Dim soma, subtração, divisão, multiplicação, intdivisão, exponenciação, módulol As Double

x = 30

y = 4

‘ Efetuando cálculos com os Operadores Aritméticos.

soma = x + y

subtração = x – y

divisão = x / y

multiplicação = x * y

intdivisão = x \ y

exponenciação = x ^ y

módulo = x Mod y

‘ Mensagens para exibição dos resultados.

MsgBox “Os números são: ” & x & ” e ” & y & Chr(13)

MsgBox “Soma: ” & soma & Chr(13) & “Subtração: ” & subtração & Chr(13)

MsgBox “Divisão: ” & divisão & Chr(13) & “Multiplicação: ” & multiplicação & Chr(13)

MsgBox “Divisão inteira: ” & intdivisão & Chr(13) & “Exponenciação: ” & exponenciação & Chr(13)

MsgBox “Resto da divisão: ” & módulo

MsgBox “FIM”

End Sub

 

Ao executar a Sub acima, você visualizará as seguintes caixas de mensagens disparadas pelo Excel (nesta sequência).

 

Para finalizar, vamos falar das funções MsgBox e Chr(número)

Conforme o exemplo anterior, usamos a Função MsgBox para exibir mensagens em uma janela Pop-Up. Para unir as diversas partes da mensagem usamos o operador de concatenação &.

A Função Chr(número) envia o caractere correspondente ao número digitado entre parênteses, que corresponde ao padrão ASCII (American Standard Caracter Interchange Information). Neste padrão, cada caractere possui um número associado. O número 13, por exemplo, está associado ao <ENTER>, ou seja, enviamos um <ENTER> para a caixa de mensagem, equivalente a uma troca de linha, para que os dados apareçam em linhas separadas.

Abs, Dr. E

P.S. Gostaria de pedir desculpas, mas infelizmente não estou conseguindo responder todos os e-mails com dúvidas que venho recebendo. Por isso, peço que não usem o espaço de comentários do post para enviar dúvidas.

Declaração de Variáveis VBA (comandos Dim e Option Explicit)

Oi Pessoal!

Neste post vou falar sobre declaração de variáveis no VBA e dar alguns exemplos de tipos de dados que podemos usar nessas variáveis.

Uma variável é um espaço na memória do computador reservado para armazenar um ou mais valores. Fazemos referência a este espaço utilizando nomes. Como o valor armazenado pode variar, a medida que o código VBA é executado, estas estruturas são chamadas de variáveis.

A declaração de variáveis não é obrigatória no VBA. Porém, é recomendável que declaremos todas as variáveis para facilitar a compreensão do código.

Para declararmos uma variável, utilizamos o comando Dim, que possui a seguinte sintaxe:

Dim nome_da_variável As tipo_da_variável

Exemplos:

Dim x

Dim nome

Dim teste

Nos exemplos anteriores, declaramos apenas o nome da variável, sem declarar o seu tipo (texto, inteiro, data etc.). Uma variável declarada sem tipo é considerada do tipo Variant. O que na prática significa que a variável pode conter qualquer tipo de valor. Então, a declaração do tipo é altamente aconselhável, pois impede, por exemplo, que um campo numérico contenha valores de texto e vice-versa.

Podemos declarar mais de uma variável com um único comando Dim, basta separar as variáveis com vírgula, conforme exemplificado abaixo:

Dim x,y,z As String

Dim nome As Double

Dim teste1, teste2 As Integer

 

O tipo determina quais dados podem ser armazenados em cada uma das variáveis, ou seja, variáveis que armazenam valores numéricos não devem aceitar caracteres de texto, variáveis que armazenam datas não devem aceitar datas inválidas e assim por diante. Toda variável no VBA é do tipo Variant, isto significa que a variável pode ser de qualquer tipo. O que define o tipo da variável é o valor armazenado no momento. Entretanto, existem Funções de conversão de tipo, conforme veremos mais adiante.

Também podemos utilizar variáveis que não foram explicitamente declaradas com o comando Dim. Com isso, a variável é criada na memória no momento da sua utilização.

Já para criar uma obrigatoriedade de declaração de variáveis, usamos o comando Option Explicit na seção de declaração do Módulo.

 

Ao escrevermos esse comando na seção de declaração do Módulo, estamos definindo que toda variável deve ser declarada nesta seção antes de ser utilizada em uma expressão. Neste caso, se tentarmos utilizar uma variável não declarada, o VBA mostrará uma mensagem de erro de compilação e suspenderá a execução dos comandos. No código abaixo, temos um exemplo simples de utilização de variáveis não declaradas explicitamente.

 

Option Explicit

Sub Teste_Declaração()

Dim a As Integer

Dim b As Integer

a = 5

b = 2

c = a + b

MsgBox “A variável c vale: ” & c

End Sub

Ao tentarmos executar este código, com Option Explicit na seção de declaração do Módulo (primeira linha escrita no Módulo), obteremos a mensagem de erro indicada na próxima figura, que mostra que tentamos utilizar a variável c que não foi declarada.

Bom, para finalizar, vou dar alguns exemplos dos tipos de dados que essas variáveis podem assumir…

O tipo Variant é formado por pequenas unidades chamadas subtipos, que identificam a maneira como os dados são armazenados em uma variável deste tipo. Assim, variáveis do subtipo Integer são armazenadas de maneira diferente das variáveis do subtipo Long. A tabela a seguir mostra alguns dos principais subtipos existentes.

Abs, Dr. E

P.S. Gostaria de pedir desculpas, mas infelizmente não estou conseguindo responder todos os e-mails com dúvidas que venho recebendo. Por isso, peço que não usem o espaço de comentários do post para enviar dúvidas.