SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
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

Mais procurados

Mais procurados (20)

Aula 02 programação_c_alunos
Aula 02  programação_c_alunosAula 02  programação_c_alunos
Aula 02 programação_c_alunos
 
Basico dovba excel_tutorial1
Basico dovba excel_tutorial1Basico dovba excel_tutorial1
Basico dovba excel_tutorial1
 
Aula2
Aula2Aula2
Aula2
 
Manual vsflexgrid
Manual vsflexgridManual vsflexgrid
Manual vsflexgrid
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
 
Trabalho
TrabalhoTrabalho
Trabalho
 
Java3
Java3Java3
Java3
 
Uso de macros_no_msexcel
Uso de macros_no_msexcelUso de macros_no_msexcel
Uso de macros_no_msexcel
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)
 
C# 6.0 - Novos Recursos (Agosto/2015)
C# 6.0 - Novos Recursos (Agosto/2015)C# 6.0 - Novos Recursos (Agosto/2015)
C# 6.0 - Novos Recursos (Agosto/2015)
 
Curso de Excel VBA
Curso de Excel VBACurso de Excel VBA
Curso de Excel VBA
 
Java: Introducao ao Swing
Java: Introducao ao SwingJava: Introducao ao Swing
Java: Introducao ao Swing
 
Cap07
Cap07Cap07
Cap07
 
Java script1
Java script1Java script1
Java script1
 
Macro br
Macro brMacro br
Macro br
 
Java: Introdução
Java: IntroduçãoJava: Introdução
Java: Introdução
 
Java14
Java14Java14
Java14
 
Palestra: LINQ via C#
Palestra: LINQ via C# Palestra: LINQ via C#
Palestra: LINQ via C#
 
Excel Básico - Introdução
Excel Básico - IntroduçãoExcel Básico - Introdução
Excel Básico - Introdução
 

Destaque

Curso de dashboard
Curso de dashboardCurso de dashboard
Curso de dashboardSilas Serpa
 
Asp julio battisti - criando sites dinamicos com asp 3.0
Asp   julio battisti - criando sites dinamicos com asp 3.0Asp   julio battisti - criando sites dinamicos com asp 3.0
Asp julio battisti - criando sites dinamicos com asp 3.0leojr_0
 
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...André Luiz Bernardes
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaWanderlei Silva do Carmo
 
DOWNLOAD - Excel Dashboards - Painel de Performance da Equipe de Vendas
DOWNLOAD - Excel Dashboards - Painel de Performance da Equipe de VendasDOWNLOAD - Excel Dashboards - Painel de Performance da Equipe de Vendas
DOWNLOAD - Excel Dashboards - Painel de Performance da Equipe de VendasAndré Luiz Bernardes
 
Como criar gráficos profissionais em excel
Como criar gráficos profissionais em excelComo criar gráficos profissionais em excel
Como criar gráficos profissionais em excelNilson Oliveira
 
Curso Dashboard em Excel Versão 2.0
Curso Dashboard em Excel  Versão 2.0Curso Dashboard em Excel  Versão 2.0
Curso Dashboard em Excel Versão 2.0BCN Treinamentos
 
Dashboard no Excel
Dashboard no ExcelDashboard no Excel
Dashboard no ExcelNey Bastos
 
Curso completo de excel
Curso completo de excelCurso completo de excel
Curso completo de excelCDIM Daniel
 

Destaque (12)

Curso de dashboard
Curso de dashboardCurso de dashboard
Curso de dashboard
 
Asp julio battisti - criando sites dinamicos com asp 3.0
Asp   julio battisti - criando sites dinamicos com asp 3.0Asp   julio battisti - criando sites dinamicos com asp 3.0
Asp julio battisti - criando sites dinamicos com asp 3.0
 
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...✔ VBA Excel Specialist® - Index 2016 + de 700 Artigos - Atualização de VBA Ex...
✔ 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
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
 
DOWNLOAD - Excel Dashboards - Painel de Performance da Equipe de Vendas
DOWNLOAD - Excel Dashboards - Painel de Performance da Equipe de VendasDOWNLOAD - Excel Dashboards - Painel de Performance da Equipe de Vendas
DOWNLOAD - Excel Dashboards - Painel de Performance da Equipe de Vendas
 
Como criar gráficos profissionais em excel
Como criar gráficos profissionais em excelComo criar gráficos profissionais em excel
Como criar gráficos profissionais em excel
 
Apostila Redes
Apostila RedesApostila Redes
Apostila Redes
 
Farol: Os 4 ciclos
Farol: Os 4 ciclosFarol: Os 4 ciclos
Farol: Os 4 ciclos
 
Curso Dashboard em Excel Versão 2.0
Curso Dashboard em Excel  Versão 2.0Curso Dashboard em Excel  Versão 2.0
Curso Dashboard em Excel Versão 2.0
 
Dashboard no Excel
Dashboard no ExcelDashboard no Excel
Dashboard no Excel
 
Excel comandos avançados
Excel comandos avançadosExcel comandos avançados
Excel comandos avançados
 
Curso completo de excel
Curso completo de excelCurso completo de excel
Curso completo de excel
 

Semelhante a Excel VBA Funções e Caixas de Diálogo

Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e ExercíciosArthur Emanuel
 
Excel Basic com VBA - Macros
Excel Basic com VBA - MacrosExcel Basic com VBA - Macros
Excel Basic com VBA - MacrosJoao Sousa
 
Tutorial java orientação a objetos parte 1
Tutorial java orientação a objetos parte 1Tutorial java orientação a objetos parte 1
Tutorial java orientação a objetos parte 1Elaine Cecília Gatto
 
Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)André Justi
 
Apostila PhP com Wamp, 4a Parte
Apostila PhP com Wamp, 4a ParteApostila PhP com Wamp, 4a Parte
Apostila PhP com Wamp, 4a ParteIlton Barbosa
 
Apostila ph pwamp_parte5
Apostila ph pwamp_parte5Apostila ph pwamp_parte5
Apostila ph pwamp_parte5Ilton Barbosa
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturadadiogoa21
 
Intro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverIntro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverEduardo Jorge
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
Javascript (parte 2)
Javascript (parte 2)Javascript (parte 2)
Javascript (parte 2)Alex Camargo
 
aula intro de Python sobre Funcoes.pdf
aula intro de  Python sobre  Funcoes.pdfaula intro de  Python sobre  Funcoes.pdf
aula intro de Python sobre Funcoes.pdfGabrielEduardo16342
 

Semelhante a Excel VBA Funções e Caixas de Diálogo (20)

Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Aula5
Aula5Aula5
Aula5
 
Excel Basic com VBA - Macros
Excel Basic com VBA - MacrosExcel Basic com VBA - Macros
Excel Basic com VBA - Macros
 
Tutorial java orientação a objetos parte 1
Tutorial java orientação a objetos parte 1Tutorial java orientação a objetos parte 1
Tutorial java orientação a objetos parte 1
 
Apostila Software Arena
Apostila Software ArenaApostila Software Arena
Apostila Software Arena
 
Aula 7 -_aed_-_sub_algoritmos
Aula 7 -_aed_-_sub_algoritmosAula 7 -_aed_-_sub_algoritmos
Aula 7 -_aed_-_sub_algoritmos
 
Aula 7 aed - sub algoritmos
Aula 7   aed - sub algoritmosAula 7   aed - sub algoritmos
Aula 7 aed - sub algoritmos
 
Aula 7 -_aed_-_sub_algoritmos
Aula 7 -_aed_-_sub_algoritmosAula 7 -_aed_-_sub_algoritmos
Aula 7 -_aed_-_sub_algoritmos
 
Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)
 
Apostila PhP com Wamp, 4a Parte
Apostila PhP com Wamp, 4a ParteApostila PhP com Wamp, 4a Parte
Apostila PhP com Wamp, 4a Parte
 
Apostila ph pwamp_parte5
Apostila ph pwamp_parte5Apostila ph pwamp_parte5
Apostila ph pwamp_parte5
 
Curso java script
Curso java scriptCurso java script
Curso java script
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
Intro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverIntro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserver
 
2006 - Linguagem VB.ppt
2006 - Linguagem VB.ppt2006 - Linguagem VB.ppt
2006 - Linguagem VB.ppt
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Working with legacy code 3
Working with legacy code 3Working with legacy code 3
Working with legacy code 3
 
Javascript (parte 2)
Javascript (parte 2)Javascript (parte 2)
Javascript (parte 2)
 
aula intro de Python sobre Funcoes.pdf
aula intro de  Python sobre  Funcoes.pdfaula intro de  Python sobre  Funcoes.pdf
aula intro de Python sobre Funcoes.pdf
 
Visualg
VisualgVisualg
Visualg
 

Mais de Gustavo Zimmermann

Aula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-AvaliaçãoAula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-AvaliaçãoGustavo Zimmermann
 
Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)Gustavo Zimmermann
 
Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)Gustavo Zimmermann
 
Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)Gustavo Zimmermann
 
Aula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-AvaliaçãoAula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-AvaliaçãoGustavo Zimmermann
 
Aula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas MetodologiasAula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas MetodologiasGustavo Zimmermann
 
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)Gustavo Zimmermann
 
Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Gustavo Zimmermann
 
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)Gustavo Zimmermann
 
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)Gustavo Zimmermann
 

Mais de Gustavo Zimmermann (20)

Aula 13 - Livros Proféticos
Aula 13 - Livros ProféticosAula 13 - Livros Proféticos
Aula 13 - Livros Proféticos
 
Aula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-AvaliaçãoAula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-Avaliação
 
Aula 11 - Livros Poéticos
Aula 11 - Livros PoéticosAula 11 - Livros Poéticos
Aula 11 - Livros Poéticos
 
Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)
 
Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)
 
Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)
 
Aula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-AvaliaçãoAula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-Avaliação
 
Aula 6 - Deuteronômio
Aula 6 - DeuteronômioAula 6 - Deuteronômio
Aula 6 - Deuteronômio
 
Aula 5 - Números
Aula 5 - NúmerosAula 5 - Números
Aula 5 - Números
 
Aula 1 - História da Bíblia
Aula 1 - História da BíbliaAula 1 - História da Bíblia
Aula 1 - História da Bíblia
 
Aula 3 - Êxodo
Aula 3 - ÊxodoAula 3 - Êxodo
Aula 3 - Êxodo
 
Aula 4 - Levíticos
Aula 4 - LevíticosAula 4 - Levíticos
Aula 4 - Levíticos
 
Aula 2 - Gênesis
Aula 2 - GênesisAula 2 - Gênesis
Aula 2 - Gênesis
 
Aula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas MetodologiasAula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas Metodologias
 
Aula 2 - Teologia Natural
Aula 2 - Teologia NaturalAula 2 - Teologia Natural
Aula 2 - Teologia Natural
 
Conciência Política
Conciência PolíticaConciência Política
Conciência Política
 
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
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 5 - HTML (part. 1)Introdução ao Web Design: Aula 5 - HTML (part. 1)
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 3 - PhotoShop (part. 1)Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
 
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
 

Excel VBA Funções e Caixas de Diálogo

  • 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)