Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução ao VBA
Nisston Moraes Tavares de Melo
nisston.moraes@faculdadeidez.com.br
12 de maio de 2009
FP.AC.010.00
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Preliminares
• O que é uma linguagem de programação?
• Estilo de programação.
12 de maio de 2009 2
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 3
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 4
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 5
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Estilo de programação
• Desenvolver um programa que possa oferecer
características como:
– Simplicidade;
– Objetividade;
– Repleto de comentários;
– Modularização.
12 de maio de 2009 6
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 7
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 8
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Janela de
código
Janela de
projeto
Janela de
propriedade
Janela de
verificação
12 de maio de 2009 9
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Navegando na IDE
• Alt-F11 – Alterna entre Excel e IDE VBA.
• F7 – Vai para janela de código.
• F4 – Vai para janela de propriedades.
• Ctrl-R – Vai para janela projeto.
• Ctrl-G – Vai para janela de verificação.
• F5 – Executa um sub-rotina.
12 de maio de 2009 10
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Macros
• As macros são sub-rotinas embutidas nos
arquivos do Excel.
• O Microsoft Excel oferece uma excelente
ferramenta de criação de macros, onde com a
ajuda de um assistente podemos construir
macros simples.
12 de maio de 2009 11
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Macros
• Criando uma macro pelo menu:
– Ferramentas – Macros – Gravar nova macro;
– A partir desse momento todas as operações
realizadas serão armazenadas em forma de
comandos e guardadas em uma sub-rotina.
12 de maio de 2009 12
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Macros
• Criar uma macro para colocar negrito o
conteúdo de uma célula.
12 de maio de 2009 13
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Funções e sub-rotinas
• Sub-rotinas
– Conjunto de ações utilizada para resolver um
determinado problema. Não retornando nenhuma
informação para quem ativou a sub-rotina.
• Funções
– Conjunto de ações utilizada para resolver um
determinado problema. Retornando uma
informação para quem ativou a função.
12 de maio de 2009 14
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 15
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Elementos
• Comentários
• Linhas continuas
• Constantes
• Variáveis e tipos de dados
• Operador em VBA
12 de maio de 2009 16
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Comentários
• Serve para esclarecer e melhorar o entendimento do programa.
12 de maio de 2009 17
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Linhas continuas
• Deverá ser digitado comandos para uma mesma linha, caso contrário a
quebra da linha deve ser indicado com um under-line.
12 de maio de 2009 18
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Constantes
• Utilizada para fazer referência a uma informação que não deverá ser
alterada durante toda a vida do programa.
12 de maio de 2009 19
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Variáveis
• Utilizado para guardar informações na memória do computador durante a
execução do programa;
• Deve ser indicado qual o tipo de informação vai ser armazenado;
• O identificador deverá ser simples, objetivo e representar o seu
conteúdo;
• O identificador não poderá ser descontínuo;
• O identificador deverá começar com letras;
12 de maio de 2009 20
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Tipos de dados
Tipo Tamanho Intervalo
Byte 1 byte 0 to 255
Boolean 2 bytes True or False
Integer 2 bytes -32,768 to 32,767
Long (long integer) 4 bytes -2,147,483,648 to 2,147,483,647
Single(singleprecisionreal) 4 bytes Approximately -3.4E38 to 3.4E38
Double(doubleprecisionreal) 8 bytes Approximately -1.8E308 to 4.9E324
Approximately -922,337,203,685,477.5808 to
Currency(scaledinteger) 8 bytes
922,337,203,685,477.5807
Date 8 bytes 1/1/100 to 12/31/9999
Object 4 bytes Any Object reference.
Variable length:10 bytes +
Variable length: <= about 2 billion (65,400for
String string length;Fixed length:
Win 3.1) Fixed length: up to 65,400
string length
6 bytes for numbers22 bytes
Variant Number: same as DoubleString: same as String
+ string length
User-defined Varies
12 de maio de 2009 21
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Declaração de variáveis
• Dim Nome As String
• Dim ValorTotal As Integer
• Dim Endereco As String
• Dim DataNasc As Date
• Dim Idade As Integer
• Dim Largura As Single
• Dim Salario As Currency
• Dim Idade, Altura, Largura As Integer
• Dim Idade As Integer, Nome As String, Salario As Currency
12 de maio de 2009 22
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Declaração de variáveis
• Option Explicit
• Tipo Variant
12 de maio de 2009 23
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 24
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 25
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 26
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 27
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Funções e sub-rotinas
• Chamando uma função
• Chamando uma sub-rotina
• Parâmetros e argumentos
• Saindo de uma função/sub-rotina
12 de maio de 2009 28
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
comandos
EndFunction
12 de maio de 2009 29
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 30
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
comandos
EndSub
12 de maio de 2009 31
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Parâmetros e argumentos
• Utilizado para passar informações para dentro
das sub-rotinas/funções.
– Obrigatórios
– Opcionais
– Por valor
– Por referência
12 de maio de 2009 32
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Parâmetros Opcional
12 de maio de 2009 33
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 34
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 35
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
12 de maio de 2009 36
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Objeto no Excel
• Definição:Objetos são entidades que têm identidade,
atributos e métodos. Desempenhando um papel
importante no sistema, podendo ser: uma pessoa,
um documento, uma atividade, etc.
• Exemplos:
– Application
– Cells
– Selection
– Range
12 de maio de 2009 37
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Objeto no Excel
• Referenciando um atributo
– Objeto . Atributo/Propriedade
• Exemplos:
– Cells(1,1).Value = “Unibratec”
– Range(“A1:A5”).Value = “João Pessoa”
– Selection.Font.Size = 20
12 de maio de 2009 38
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Objeto no Excel
• Referenciando um método
– Objeto . método
• Exemplos:
– Application.Quit
– Selection.Copy
– Selection.Clear
12 de maio de 2009 39
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Exercício
1. Criar uma função que receba um valor e retorne
5% do valor.
2. Criar uma função que possa calcular o Índice de
Massa Corporal IMC, (Peso / Altura2).
3. Criar uma função que calcule a área de um
triângulo.
4. Criar uma função que receba um valor e escreva
o valor com um acréscimo de 25%.
12 de maio de 2009 40
Introdução a VBA Prof. Nisston Moraes
Automação de Documento
Referências
• ROMAN, Steven. Desenvolvendo macros no
Excel. Rio de Janeiro: Editora Ciência Moderna
Ltda., 2000, cap. 2 – 6. p. 7 – 88.
• MANZANO, José A. Navarro Garcia, MANZANO,
André Luiz N. G. Estudo Dirigido de Excel 2000
Avançado. São Paulo: Érica, 1999 (Coleção P.D.),
cap 5. p. 101 - 124.
12 de maio de 2009 41