SlideShare uma empresa Scribd logo
EXCEL VBA (aula 8)
Visual Basic
prof. Gustavo Zimmermann
prof. Gustavo Zimmermann | contato@gust4vo.com
PUBLIC
Podem ser chamadas dentro de qualquer rotina e de qualquer
parte do projeto, como módulos, formulários, objetos. Também ficam disponíveis em
outro projeto aberto, desde que você adicione a referência a esse projeto.
PRIVATE
Só podem ser executadas no módulo onde foram escritas.
Elas só podem ser chamadas dentro das rotinas que pertençam ao mesmo módulo ou
objeto. Quando chamadas a partir de outro módulo, ocorrerá o erro: “Sub ou Function
não definida”.
Excel VBA – Visual Basic
Rotinas (pág. 6)
prof. Gustavo Zimmermann | contato@gust4vo.com
PUBLIC
Sub-rotinas e funções são públicas por padrão. Caso não queira que sejam públicas, é
necessário que declare usando a palavra-chave Private Sub ou Private Function.
PRIVATE
Procedimentos de evento são privados por padrão, a palavra-chave Private é
automaticamente inserida antes da declaração do procedimento (Private Sub evento).
Excel VBA – Visual Basic
Rotinas (pág. 6)
prof. Gustavo Zimmermann | contato@gust4vo.com
Sintaxe Sub-rotinas
Excel VBA – Visual Basic
Rotinas (pág. 6)
1. Public Sub
2. <nome_da_macro> ( )
3. <corpo_da_macro>
4. End Sub
1. Private Sub
2. <nome_da_macro> ( )
3. <corpo_da_macro>
4. End Sub
Sintaxe Funções
1. Public Function <Nome Função> (argumentos)
2. <Nome da Função> = <Valor / Expressão>
3. End Function
1. Private Function <Nome Função> (argumentos)
2. <Nome da Função> = <Valor / Expressão>
3. End Function
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Passagem de Parâmetros (pág. 7-9)
1. Sub Dobro (Num As Integer)
2. <corpo_da_macro>
3. End Sub
ByVal
Quando declarar os argumentos de uma função/procedimento, não é necessário usar
a palavra ByVal já que os argumentos assumem automaticamente a opção ByVal, pois
este é o método padrão. As duas declarações a seguir são equivalentes:
1. Sub Dobro (ByVal Num As Integer)
2. <corpo_da_macro>
3. End Sub
OU
*Na passagem de parâmetro por valor, ao iniciar a execução, a função faz uma cópia
dos valores passados para serem utilizados nas operações.
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Passagem de Parâmetros (pág. 7-9)
1. Sub Passagem_valor ()
2. Dim x As Integer
3. x = 3
4. MsgBox "Valor dado a variável X é: " & x
5. 'Aqui estou chamando a procedure que vai dobrar o valor de x (sub Dobro)
6.
7. Dobro (x)
8. MsgBox "Valor de X Após a Execução: " & x
9. End Sub
10. Sub Dobro (ByVal Num As Integer)
11. MsgBox "Valor passado como parâmetro: " & Num
12. Num = Num * 2
13. MsgBox "Dobro do valor: " & Num
14. End Sub
ByVal
Exemplo:
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Passagem de Parâmetros (pág. 7-9)
ByRef
Para poder alterar o valor original de uma variável, a função/procedimento, tem que
receber o parâmetro por referência – ByRef, ou seja, a função/procedimento tem que
receber uma referência ao endereço de memória da variável passada como parâmetro
e não uma simples cópia do valor da variável . Ao receber um parâmetro por referência
(ByRef), as alterações que a função/procedimento fizer, serão feitas diretamente na
variável original, pois agora, a função/procedimento tem acesso ao endereço da
variável na memória e não mais apenas uma cópia do seu valor
1. Public Sub DobraValor (ByRef Num As Integer)
2. <corpo_da_macro>
3. End Sub
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Passagem de Parâmetros (pág. 7-9)
1. Sub Passagem_Ref()
2. Dim y As Integer
3. y = 3
4. MsgBox "Valor dado a variável Y é: " & y
5. 'Aqui estou chamando a procedure que vai dobrar o valor de y (sub Dobro_ref)
6.
7. Call Dobro_ref (y)
8. MsgBox "Valor de Y Após a Execução: " & y
9. End Sub
10. Sub Dobro_ref (ByRef Num As Integer)
11. MsgBox "Valor passado como parâmetro: " & Num
12. Num = Num * 2
13. MsgBox "Dobro do valor: " & Num
14. End Sub
ByRefl
Exemplo:
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Tipos de Variáveis
Tipo Tamanho Valor/Descrição
Boolean 2 bytes True ou False.
Byte 1 byte De 0 a 255
Date 8 bytes Tipo para datas
Decimal 12 bytes
O maior valor possível é
+/- 79.228.162.514.264.337.593.950.335.
Double 8 bytes Tipo para números Reais
Integer 2 bytes -32.768 a 32.767.
Long 4 bytes De -2.147.483.648 a 2.147.483.648
Single 4 bytes Maior variedade de números Reais
String 10 bytes De 1 a 2 bilhões de caracteres.
Variant (numérica) 16 bytes Maior quantidade de variações de números
Variant (texto) 22 bytes Maior quantidade de caracteres
prof. Gustavo Zimmermann | contato@gust4vo.com
1. Dim Nome_da_variável As Tipo_da_variavel
Declaração
Excel VBA – Visual Basic
Tipos de Variáveis
1. Dim Taxa As Double
1. Dim Taxa, Valor, Total As Double
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Operadores Aritméticos
Operador Descrição
+ Adição
- Subtração
* Multiplicação
/ Divisão
 Divisão inteira
^ Expponenciação
Mod Retorna o resto da divisão
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Operadores de Comparação
Operador Descrição
= Igual a
> Maior que
< Menor que
<> Diferente de
>= Maior ou Igual
<= Menor ou Igual
Is É. Compara duas variáveis de referência a objetos.
Like Como. Compara sequência de caracteres.
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Operadores Lógicos
Operador Descrição
And
E. Acrescenta condições a um teste lógico. Retorna True se todas
as condições forem verdadeiras e, no caso contrário, retorna
False.
Or
Ou. Acrescenta condições a um teste lógico. Retorna True se pelo
menos uma das condições for verdadeira e False caso todas forem
falsas.
Not Gera uma negação lógica.
Eqv
Realiza uma equivalência lógica. Retorna True se as duas
expressões forem verdadeiras ou falsas, caso contrário, retorna
False.
Xor
Realiza uma exclusão lógica. Retorna True se apenas uma
expressão for verdadeira, caso contrário, retorna False.
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Operadores de Concatenação
Operador Descrição
& Concatena textos.
+ Concatena textos.
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas Condicionais
A estrutura If é utilizada para executar uma instrução dependendo do resultado de uma
expressão.
If ... Then ... Else
1.If Condição Then
2. Grupo_de_instruções_If
3.Else
4. Grupo_de_instruções_Else
5.Enf If
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas Condicionais
If ... Then ... ElseIf ... Then ... Else
1. If Condição 1 Then
2. Grupo_de_instruções_If
3. ElseIf Condição 2 Then
4. Grupo_de_instruções_If
5. Else
6. Grupo_de_instruções_Else
7. End If
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas Condicionais
A estrutura Select Case executa um dos diversos grupos de instruções dependendo do valor
de uma expressão.
Select Case
1. Select Case Expressão
2. Case Is Valor 1
3. Grupo_de_instruções_1
4. Case Is Valor 2
5. Grupo_de_instruções_2
6. Case Else
7. Grupo_de_instruções_Else
8. End Select
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Caixas de Diálogo
A função InputBox é utilizada quando o programa necessita de uma informação do usuário.
Neste caso, a caixa de diálogo é exibida com um campo de texto onde o usuário irá digitar
a informação que será processada.
Função InputBox
1. InputBox (Prompt, Title, Default, Xpos, Ypos, Helpfile, Context)
Prompt: É o texto da mensagem.
Title: É o título da caixa de mensagem.
Default: É o texto exibido quando a caixa for carregada.
Xpos: é o número referente à posição horizontal da caixa de mensagem.
Ypos: É o número referente à posição vertical da caixa de mensagem.
Helpfile: Identifica o arquivo de ajuda.
Context: É o número de contexto da ajuda e é fornecido quando o Helpfile for especificado.
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Caixas de Diálogo
A função MsgBox é utilizada para enviar mensagens ao usuário. Essas mensagens ao
usuário. Essas mensagens podem conter
Função MsgBox
1. MsgBox (Prompt, Buttons, Title, Helpfile, Context)
Prompt: É o texto do corpo da mensagem.
Buttons: Botões que são exibidos.
Title: É texto da barra de título.
Helpfile: Identifica o arquivo de ajuda, se houver.
Context: É o numero de contexto da ajuda quando houver HelpFile.
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Operadores de Concatenação
Função MsgBox
Buttons: veja a seguir os valores possíveis para este argumento.
Constante Valor Descrição
vbOKOnly 1 Exibe apenas o botão OK.
vbOKCancel 2 Exibe os botões OK.
vbAbortRetryIgnore 3 Exibe os botões Anular, Repetir e Ignorar.
vbYesNoCancel 4 Exibe os botões Sim, Não e Cancelar.
vbCritical 16 Exibe o ícone Mensagem Crítica.
vbQuestion 32 Exibe o ícone Consulta de Aviso.
vbExclamation 48 Exibe o ícone Mensagem de Aviso.
vbInformation 64 Exibe o ícone Mensagem de Informação.
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Operadores de Concatenação
Função MsgBox
Buttons: veja a seguir os valores possíveis para este argumento.
Constante Valor Descrição
vbDesaultButton1 0 O primeiro botão é padrão.
vbDesaultButton2 256 O segundo botão é padrão.
vbDesaultButton3 512 O terceiro botão é padrão.
vbDesaultButton4 768 O quarto botão é padrão.
vbApplicationModal 0
Janela do aplicativo. O usuário deve responder a
mensagem antes de continuar o trabalho no
aplicativo atual.
vbSystemModal 4096
Janela do sistema. Todos os aplicativos ficam
suspensos até o usuário responder a mensagem.
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Operadores de Concatenação
Função MsgBox
Buttons: veja a seguir os valores possíveis para este argumento.
Constante Valor Descrição
vbMsgBoxHelpButon 16384 Insere o botão Help na caixa de mensagem.
vbMsgBoxSetForeground 65536
Especifica que a caixa de mensagem ficará em
primeiro plano.
vbMsgBoxRight 524288 Alinha o texto à direita.
vbMsgBoxRtlReading 1048576
Especifica que o texto deve aparecer como leitura
da direita para a esquerda em sistemas hebraico e
árabe,
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Operadores de Concatenação
Função MsgBox
Buttons: suas opções de argumento podem ser divididas em quadro grupos:
1. O primeiro grupo determina os botões que serão exibidos na caixa de diálogo.
2. O segundo grupo descreve o estilo do ícone que será exibido na caixa de diálogo.
3. O terceiro grupo determina qual o botão é o padrão.
4. O quarto grupo determina a modalidade da caixa de diálogo.
*Insira apenas uma opção de cada grupo no argumento Buttons.
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Operadores de Concatenação
Função MsgBox
Exemplo: Mensagem de Informação
1. MsgBox (“Erro ao cafastrar o produto.”, vbCritical, “Falha”)
Exemplo: Mensagem de Decisão
1. MsgBox (“Erro ao cadastrar o produto.”, vbYesNo + vbDefaultButton2, “Confirmar”)
Constante Valor
vbOK 1
vbCancel 2
vbAbort 3
vbRetry 4
vbIgnore 5
vbYes 6
vbNo 7
Observe que no argumento Buttons foi utilizada duas
opções. Neste caso é utilizado o sinal de adição entre
elas.
Para que uma ação seja executada de acordo com a
escolha feita na caixa de diálogo é preciso saber o valor
de retorno de cada botão.
prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Operadores de Concatenação
Função MsgBox
Formatação: Quebrando Linhas
1. MsgBox (“O arquivo ainda não foi salvo” & vbCrLf & “Deseja salvá-lo?”, vbYesNo)

Mais conteúdo relacionado

PDF
Apresentacaosobre vba
PDF
Excel VBA: Aula 12
PDF
Excel VBA: Aula 11
PDF
Excel VBA: Aula 2
PDF
Excel VBA: Aula 3
PDF
Excel VBA: Aula 9
PDF
1214 visual basic
PPTX
Curso de Macros en Excel (VBA)
Apresentacaosobre vba
Excel VBA: Aula 12
Excel VBA: Aula 11
Excel VBA: Aula 2
Excel VBA: Aula 3
Excel VBA: Aula 9
1214 visual basic
Curso de Macros en Excel (VBA)

Mais procurados (20)

PPTX
Aula 02 programação_c_alunos
DOCX
Basico dovba excel_tutorial1
PPT
Aula2
DOC
Manual vsflexgrid
PDF
Cadastro de clientes em c#
PPSX
Boas práticas de programação em C# .NET
PPT
Trabalho
DOC
Uso de macros_no_msexcel
PDF
Curso de Java (Parte 3)
PPTX
C# 6.0 - Novos Recursos (Agosto/2015)
PDF
Curso de Excel VBA
PPTX
Java: Introducao ao Swing
PDF
Cap07
PDF
PDF
Macro br
PPTX
Java: Introdução
PPTX
Palestra: LINQ via C#
PPTX
Excel Básico - Introdução
Aula 02 programação_c_alunos
Basico dovba excel_tutorial1
Aula2
Manual vsflexgrid
Cadastro de clientes em c#
Boas práticas de programação em C# .NET
Trabalho
Uso de macros_no_msexcel
Curso de Java (Parte 3)
C# 6.0 - Novos Recursos (Agosto/2015)
Curso de Excel VBA
Java: Introducao ao Swing
Cap07
Macro br
Java: Introdução
Palestra: LINQ via C#
Excel Básico - Introdução
Anúncio

Destaque (12)

PDF
Curso de dashboard
PDF
Asp julio battisti - criando sites dinamicos com asp 3.0
PDF
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
PDF
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
PPTX
DOWNLOAD - Excel Dashboards - Painel de Performance da Equipe de Vendas
PDF
Como criar gráficos profissionais em excel
PDF
Farol: Os 4 ciclos
PDF
Curso Dashboard em Excel Versão 2.0
PPSX
Dashboard no Excel
PPT
Excel comandos avançados
PDF
Curso completo de excel
Curso de dashboard
Asp julio battisti - criando sites dinamicos com asp 3.0
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
DOWNLOAD - Excel Dashboards - Painel de Performance da Equipe de Vendas
Como criar gráficos profissionais em excel
Farol: Os 4 ciclos
Curso Dashboard em Excel Versão 2.0
Dashboard no Excel
Excel comandos avançados
Curso completo de excel
Anúncio

Semelhante a Excel VBA: Aula 8 (20)

PPTX
Java - Visão geral e Exercícios
PPT
Aula5
PPT
Excel Basic com VBA - Macros
PDF
Tutorial java orientação a objetos parte 1
PDF
Apostila Software Arena
PPTX
Aula 7 aed - sub algoritmos
PPTX
Aula 7 -_aed_-_sub_algoritmos
PPTX
Aula 7 -_aed_-_sub_algoritmos
PPTX
Interface_web_II-aula03-Condicionais_IF_ELSE.pptx
PDF
Manual do inicante .ebook-excelnaweb.pdf
PDF
Livro - código limpo caps (3,4) (clean code)
PDF
Apostila PhP com Wamp, 4a Parte
PDF
Apostila ph pwamp_parte5
PDF
Curso java script
PDF
mod3-programação-estruturada
PDF
Intro padroesprojetoadaptertemplateobserver
PPT
2006 - Linguagem VB.ppt
PPTX
Curso Java Básico - Aula 03
PPT
Working with legacy code 3
PDF
Javascript (parte 2)
Java - Visão geral e Exercícios
Aula5
Excel Basic com VBA - Macros
Tutorial java orientação a objetos parte 1
Apostila Software Arena
Aula 7 aed - sub algoritmos
Aula 7 -_aed_-_sub_algoritmos
Aula 7 -_aed_-_sub_algoritmos
Interface_web_II-aula03-Condicionais_IF_ELSE.pptx
Manual do inicante .ebook-excelnaweb.pdf
Livro - código limpo caps (3,4) (clean code)
Apostila PhP com Wamp, 4a Parte
Apostila ph pwamp_parte5
Curso java script
mod3-programação-estruturada
Intro padroesprojetoadaptertemplateobserver
2006 - Linguagem VB.ppt
Curso Java Básico - Aula 03
Working with legacy code 3
Javascript (parte 2)

Mais de Gustavo Zimmermann (20)

PDF
Aula 13 - Livros Proféticos
PDF
Aula 12 - Revisão Pré-Avaliação
PDF
Aula 11 - Livros Poéticos
PDF
Aula 9 - Livros Históricos (part. 2)
PDF
Aula 10 - Livros Históricos (part. 3)
PDF
Aula 8 - Livros Históricos (part. 1)
PDF
Aula 7 - Revisão Pré-Avaliação
PDF
Aula 6 - Deuteronômio
PDF
Aula 5 - Números
PDF
Aula 1 - História da Bíblia
PDF
Aula 3 - Êxodo
PDF
Aula 4 - Levíticos
PDF
Aula 2 - Gênesis
PDF
Aula 1 - Apologética e suas Metodologias
PDF
Aula 2 - Teologia Natural
PDF
Conciência Política
PDF
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
PDF
Introdução ao Web Design: Aula 5 - HTML (part. 1)
PDF
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
PDF
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Aula 13 - Livros Proféticos
Aula 12 - Revisão Pré-Avaliação
Aula 11 - Livros Poéticos
Aula 9 - Livros Históricos (part. 2)
Aula 10 - Livros Históricos (part. 3)
Aula 8 - Livros Históricos (part. 1)
Aula 7 - Revisão Pré-Avaliação
Aula 6 - Deuteronômio
Aula 5 - Números
Aula 1 - História da Bíblia
Aula 3 - Êxodo
Aula 4 - Levíticos
Aula 2 - Gênesis
Aula 1 - Apologética e suas Metodologias
Aula 2 - Teologia Natural
Conciência Política
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)

Último (7)

DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PPTX
Curso de Windows 11 resumido na prática.pptx
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PDF
Evolução em código: algoritmos genéticos com PHP
PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
apresentacao introducao computacao ead.pdf
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Dos requisitos ao código: como criar código rastreável em PHP
Curso de Windows 11 resumido na prática.pptx
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Evolução em código: algoritmos genéticos com PHP
Mapeamento de Objeto para Tabela Relacional
apresentacao introducao computacao ead.pdf

Excel VBA: Aula 8

  • 1. EXCEL VBA (aula 8) Visual Basic prof. Gustavo Zimmermann
  • 2. prof. Gustavo Zimmermann | contato@gust4vo.com PUBLIC Podem ser chamadas dentro de qualquer rotina e de qualquer parte do projeto, como módulos, formulários, objetos. Também ficam disponíveis em outro projeto aberto, desde que você adicione a referência a esse projeto. PRIVATE Só podem ser executadas no módulo onde foram escritas. Elas só podem ser chamadas dentro das rotinas que pertençam ao mesmo módulo ou objeto. Quando chamadas a partir de outro módulo, ocorrerá o erro: “Sub ou Function não definida”. Excel VBA – Visual Basic Rotinas (pág. 6)
  • 3. prof. Gustavo Zimmermann | contato@gust4vo.com PUBLIC Sub-rotinas e funções são públicas por padrão. Caso não queira que sejam públicas, é necessário que declare usando a palavra-chave Private Sub ou Private Function. PRIVATE Procedimentos de evento são privados por padrão, a palavra-chave Private é automaticamente inserida antes da declaração do procedimento (Private Sub evento). Excel VBA – Visual Basic Rotinas (pág. 6)
  • 4. prof. Gustavo Zimmermann | contato@gust4vo.com Sintaxe Sub-rotinas Excel VBA – Visual Basic Rotinas (pág. 6) 1. Public Sub 2. <nome_da_macro> ( ) 3. <corpo_da_macro> 4. End Sub 1. Private Sub 2. <nome_da_macro> ( ) 3. <corpo_da_macro> 4. End Sub Sintaxe Funções 1. Public Function <Nome Função> (argumentos) 2. <Nome da Função> = <Valor / Expressão> 3. End Function 1. Private Function <Nome Função> (argumentos) 2. <Nome da Função> = <Valor / Expressão> 3. End Function
  • 5. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Passagem de Parâmetros (pág. 7-9) 1. Sub Dobro (Num As Integer) 2. <corpo_da_macro> 3. End Sub ByVal Quando declarar os argumentos de uma função/procedimento, não é necessário usar a palavra ByVal já que os argumentos assumem automaticamente a opção ByVal, pois este é o método padrão. As duas declarações a seguir são equivalentes: 1. Sub Dobro (ByVal Num As Integer) 2. <corpo_da_macro> 3. End Sub OU *Na passagem de parâmetro por valor, ao iniciar a execução, a função faz uma cópia dos valores passados para serem utilizados nas operações.
  • 6. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Passagem de Parâmetros (pág. 7-9) 1. Sub Passagem_valor () 2. Dim x As Integer 3. x = 3 4. MsgBox "Valor dado a variável X é: " & x 5. 'Aqui estou chamando a procedure que vai dobrar o valor de x (sub Dobro) 6. 7. Dobro (x) 8. MsgBox "Valor de X Após a Execução: " & x 9. End Sub 10. Sub Dobro (ByVal Num As Integer) 11. MsgBox "Valor passado como parâmetro: " & Num 12. Num = Num * 2 13. MsgBox "Dobro do valor: " & Num 14. End Sub ByVal Exemplo:
  • 7. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Passagem de Parâmetros (pág. 7-9) ByRef Para poder alterar o valor original de uma variável, a função/procedimento, tem que receber o parâmetro por referência – ByRef, ou seja, a função/procedimento tem que receber uma referência ao endereço de memória da variável passada como parâmetro e não uma simples cópia do valor da variável . Ao receber um parâmetro por referência (ByRef), as alterações que a função/procedimento fizer, serão feitas diretamente na variável original, pois agora, a função/procedimento tem acesso ao endereço da variável na memória e não mais apenas uma cópia do seu valor 1. Public Sub DobraValor (ByRef Num As Integer) 2. <corpo_da_macro> 3. End Sub
  • 8. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Passagem de Parâmetros (pág. 7-9) 1. Sub Passagem_Ref() 2. Dim y As Integer 3. y = 3 4. MsgBox "Valor dado a variável Y é: " & y 5. 'Aqui estou chamando a procedure que vai dobrar o valor de y (sub Dobro_ref) 6. 7. Call Dobro_ref (y) 8. MsgBox "Valor de Y Após a Execução: " & y 9. End Sub 10. Sub Dobro_ref (ByRef Num As Integer) 11. MsgBox "Valor passado como parâmetro: " & Num 12. Num = Num * 2 13. MsgBox "Dobro do valor: " & Num 14. End Sub ByRefl Exemplo:
  • 9. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Tipos de Variáveis Tipo Tamanho Valor/Descrição Boolean 2 bytes True ou False. Byte 1 byte De 0 a 255 Date 8 bytes Tipo para datas Decimal 12 bytes O maior valor possível é +/- 79.228.162.514.264.337.593.950.335. Double 8 bytes Tipo para números Reais Integer 2 bytes -32.768 a 32.767. Long 4 bytes De -2.147.483.648 a 2.147.483.648 Single 4 bytes Maior variedade de números Reais String 10 bytes De 1 a 2 bilhões de caracteres. Variant (numérica) 16 bytes Maior quantidade de variações de números Variant (texto) 22 bytes Maior quantidade de caracteres
  • 10. prof. Gustavo Zimmermann | contato@gust4vo.com 1. Dim Nome_da_variável As Tipo_da_variavel Declaração Excel VBA – Visual Basic Tipos de Variáveis 1. Dim Taxa As Double 1. Dim Taxa, Valor, Total As Double
  • 11. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Operadores Aritméticos Operador Descrição + Adição - Subtração * Multiplicação / Divisão Divisão inteira ^ Expponenciação Mod Retorna o resto da divisão
  • 12. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Operadores de Comparação Operador Descrição = Igual a > Maior que < Menor que <> Diferente de >= Maior ou Igual <= Menor ou Igual Is É. Compara duas variáveis de referência a objetos. Like Como. Compara sequência de caracteres.
  • 13. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Operadores Lógicos Operador Descrição And E. Acrescenta condições a um teste lógico. Retorna True se todas as condições forem verdadeiras e, no caso contrário, retorna False. Or Ou. Acrescenta condições a um teste lógico. Retorna True se pelo menos uma das condições for verdadeira e False caso todas forem falsas. Not Gera uma negação lógica. Eqv Realiza uma equivalência lógica. Retorna True se as duas expressões forem verdadeiras ou falsas, caso contrário, retorna False. Xor Realiza uma exclusão lógica. Retorna True se apenas uma expressão for verdadeira, caso contrário, retorna False.
  • 14. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Operadores de Concatenação Operador Descrição & Concatena textos. + Concatena textos.
  • 15. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Estruturas Condicionais A estrutura If é utilizada para executar uma instrução dependendo do resultado de uma expressão. If ... Then ... Else 1.If Condição Then 2. Grupo_de_instruções_If 3.Else 4. Grupo_de_instruções_Else 5.Enf If
  • 16. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Estruturas Condicionais If ... Then ... ElseIf ... Then ... Else 1. If Condição 1 Then 2. Grupo_de_instruções_If 3. ElseIf Condição 2 Then 4. Grupo_de_instruções_If 5. Else 6. Grupo_de_instruções_Else 7. End If
  • 17. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Estruturas Condicionais A estrutura Select Case executa um dos diversos grupos de instruções dependendo do valor de uma expressão. Select Case 1. Select Case Expressão 2. Case Is Valor 1 3. Grupo_de_instruções_1 4. Case Is Valor 2 5. Grupo_de_instruções_2 6. Case Else 7. Grupo_de_instruções_Else 8. End Select
  • 18. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Caixas de Diálogo A função InputBox é utilizada quando o programa necessita de uma informação do usuário. Neste caso, a caixa de diálogo é exibida com um campo de texto onde o usuário irá digitar a informação que será processada. Função InputBox 1. InputBox (Prompt, Title, Default, Xpos, Ypos, Helpfile, Context) Prompt: É o texto da mensagem. Title: É o título da caixa de mensagem. Default: É o texto exibido quando a caixa for carregada. Xpos: é o número referente à posição horizontal da caixa de mensagem. Ypos: É o número referente à posição vertical da caixa de mensagem. Helpfile: Identifica o arquivo de ajuda. Context: É o número de contexto da ajuda e é fornecido quando o Helpfile for especificado.
  • 19. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Caixas de Diálogo A função MsgBox é utilizada para enviar mensagens ao usuário. Essas mensagens ao usuário. Essas mensagens podem conter Função MsgBox 1. MsgBox (Prompt, Buttons, Title, Helpfile, Context) Prompt: É o texto do corpo da mensagem. Buttons: Botões que são exibidos. Title: É texto da barra de título. Helpfile: Identifica o arquivo de ajuda, se houver. Context: É o numero de contexto da ajuda quando houver HelpFile.
  • 20. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Operadores de Concatenação Função MsgBox Buttons: veja a seguir os valores possíveis para este argumento. Constante Valor Descrição vbOKOnly 1 Exibe apenas o botão OK. vbOKCancel 2 Exibe os botões OK. vbAbortRetryIgnore 3 Exibe os botões Anular, Repetir e Ignorar. vbYesNoCancel 4 Exibe os botões Sim, Não e Cancelar. vbCritical 16 Exibe o ícone Mensagem Crítica. vbQuestion 32 Exibe o ícone Consulta de Aviso. vbExclamation 48 Exibe o ícone Mensagem de Aviso. vbInformation 64 Exibe o ícone Mensagem de Informação.
  • 21. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Operadores de Concatenação Função MsgBox Buttons: veja a seguir os valores possíveis para este argumento. Constante Valor Descrição vbDesaultButton1 0 O primeiro botão é padrão. vbDesaultButton2 256 O segundo botão é padrão. vbDesaultButton3 512 O terceiro botão é padrão. vbDesaultButton4 768 O quarto botão é padrão. vbApplicationModal 0 Janela do aplicativo. O usuário deve responder a mensagem antes de continuar o trabalho no aplicativo atual. vbSystemModal 4096 Janela do sistema. Todos os aplicativos ficam suspensos até o usuário responder a mensagem.
  • 22. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Operadores de Concatenação Função MsgBox Buttons: veja a seguir os valores possíveis para este argumento. Constante Valor Descrição vbMsgBoxHelpButon 16384 Insere o botão Help na caixa de mensagem. vbMsgBoxSetForeground 65536 Especifica que a caixa de mensagem ficará em primeiro plano. vbMsgBoxRight 524288 Alinha o texto à direita. vbMsgBoxRtlReading 1048576 Especifica que o texto deve aparecer como leitura da direita para a esquerda em sistemas hebraico e árabe,
  • 23. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Operadores de Concatenação Função MsgBox Buttons: suas opções de argumento podem ser divididas em quadro grupos: 1. O primeiro grupo determina os botões que serão exibidos na caixa de diálogo. 2. O segundo grupo descreve o estilo do ícone que será exibido na caixa de diálogo. 3. O terceiro grupo determina qual o botão é o padrão. 4. O quarto grupo determina a modalidade da caixa de diálogo. *Insira apenas uma opção de cada grupo no argumento Buttons.
  • 24. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Operadores de Concatenação Função MsgBox Exemplo: Mensagem de Informação 1. MsgBox (“Erro ao cafastrar o produto.”, vbCritical, “Falha”) Exemplo: Mensagem de Decisão 1. MsgBox (“Erro ao cadastrar o produto.”, vbYesNo + vbDefaultButton2, “Confirmar”) Constante Valor vbOK 1 vbCancel 2 vbAbort 3 vbRetry 4 vbIgnore 5 vbYes 6 vbNo 7 Observe que no argumento Buttons foi utilizada duas opções. Neste caso é utilizado o sinal de adição entre elas. Para que uma ação seja executada de acordo com a escolha feita na caixa de diálogo é preciso saber o valor de retorno de cada botão.
  • 25. prof. Gustavo Zimmermann | contato@gust4vo.com Excel VBA – Visual Basic Operadores de Concatenação Função MsgBox Formatação: Quebrando Linhas 1. MsgBox (“O arquivo ainda não foi salvo” & vbCrLf & “Deseja salvá-lo?”, vbYesNo)