Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila VBA Excel-Vba0102
Apostila VBA Excel-Vba0102
Macrocomandos (Macros)
O que uma macro? So programas que executam
tarefas especficas, automatizando-as.
Quando uma macro activada, executa uma
sequncia de instrues.
Tipos de macros:
Macros de comandos
Macros de funes
1
Macros de comandos
Repetio de tarefas
frequentemente necessrio executar a
mesma tarefa, que podem ser clulas de um
intervalo, folhas de clculo de um livro ou
diferentes livros de uma aplicao.
Macros de comandos
Tarefas simples
No exemplo que segue criada uma macro que muda a cor das
clulas com valores negativos.
2
Macros de comandos
Visualizar o conjunto de instrues que constituem a
macro (cdigo VBA): Ferramentas / Macros/ Macro/
Editar
Sub Pintar()
' Macro gravada em 04/6/2000
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End Sub
Macros de comandos
Automatize as seguintes tarefas:
3
Macros de Funes
Funes definidas pelo utilizador
Macros de Funes
Funes definidas pelo utilizador
Exemplo do
Function IVA (Valor, Taxa)
clculo do IVA = Valor* Taxa
valor do Iva End Function
4
Macros de Funes
Funes definidas pelo utilizador
Crie funes que permitam efectuar as seguintes operaes:
Resumo
Activar o gravador de macros
Desactivar o gravador de macros
Operaes sobre macros:
Executar
Editar
Alterar
Eliminar
Atribuir uma tecla de atalho ou um boto
5
O editor do VBA
Explorador
do
Projecto
Janela
de
edio
do
cdigo
Propriedades em
da janela VBA
O editor do VBA
Explorador do projecto (Project Explorer )
6
O editor do VBA
Explorador do projecto (Properties )
O que so Objectos?
So elementos caracterizados por um conjunto de
propriedades e que apresentam um determinado
comportamento. P.ex.: uma folha de clculo um
objecto, tem um nome, um conjunto de linhas e
colunas, uma grelha que pode ser desactivada, pode
ser protegida contra escrita, a altura das linhas e a
largura das colunas pode ser modificada,...
7
Objectos: Propriedades e Mtodos
Propriedades
Constituem o conjunto de caractersticas que o definem. P.ex.:
nome, cor,dimenso, valor contido, ... (Luisa Domingues). As
propriedades determinam a aparncia e o comportamento dos
objectos.
Mtodos
So aces que os objectos podem executar.Cada objecto
pode ter associados vrios mtodos.
As aces desencadeadas pelos mtodos podem alterar as
propriedades dos objectos.
P.ex.: Fechar um livro de Excel
Objectos: Coleces
8
Hierarquia dos principais Objectos em
Excel
Application
Workbooks
Worksheets
Range
1. Indica-se o objecto
2. Aplicam-se as propriedades e os mtodos inerentes a esse
objecto.
Objectos
Exemplos
Worksheets(Folha1).Range(C1).Value = 45
Application.Quit
Propriedade
Mtodo
9
Objectos
Application
Exemplos de aplicaes de propriedades e mtodos
Sub Titulo()
Substitui o ttulo
EX. 1 Application.Caption = " Gesto de clientes"
Microsoft Excel Por
End Sub Gesto de clientes.
Sub Encerrar()
Application.Quit Encerra o Excel.
EX. 3
End Sub
Sub Executa()
Executa a macro ou
EX. 4 Application.Run ("Folha1.Titulo") Procedimento Titulo.
End Sub
10
Objectos
WorkBooks
Exemplos de aplicaes de propriedades e mtodos
Sub Nome_livro()
EX. 1 Workbooks("livro1").Activate Activa o livro1
End Sub
Sub fecha()
EX. 2 Workbooks("Livro1").Close Encerra o livro1
End Sub
Sub grava()
Workbooks("Livro1").SaveAs ("Exemplos de VBA") Guarda o Livro1 com o
EX. 3 nome Exemplos de VBA
End Sub
11
Objectos
Worksheets
Exemplos de aplicaes de propriedades
Sub Numero_da_folha()
N = Worksheets(Facturas").Index A varivel N devolve o
EX. 1 MsgBox (N) nmero de ordem da folha
End Sub Facturas em relao s
Restantes folhas do livro.
Sub Altera_nome()
EX. 2 Worksheets(2).Name = Tabelas O nome da segunda folha
do livro alterado para
End Sub
Tabelas.
12
Worksheets
Worksheets
Exemplos de aplicaes de mtodos
Sub Activa_folha()
Worksheets(Tabelas").Activate Torna activa a folha
EX. 1 End Sub denominada Tabelas
Sub Elimina_folha()
EX. 2 Worksheets(Tabelas").Delete Elimina a folha
Tabelas.
End Sub
13
Objectos
Range o objecto utilizado para representar uma ou
mais clulas de uma Worksheet
Algumas das propriedades mais importantes
Range
Exemplos de aplicaes de propriedades
A varivel N devolve
Sub Conta_clulas()
o total de clulas
N = Worksheets("segundo").Range("A1:B50").Count que constituem a
EX. 1 MsgBox (N) rea que vai desde
End Sub A1 at B50.
14
Range
Exemplos de aplicaes de propriedades
Objectos
15
Range
Exemplos de aplicao da propriedades
(aplicada a estruturas repetitivas)
Sub Pinta_negativos()
Este procedimento vai percorrer um
conjunto de clulas que se encontram
EX. 7 ' Atalho por teclado: Ctrl+p
na mesma coluna e se o respectivo
' contedo for negativo, apresenta o
Do While ActiveCell.Value <> " valor com a cor vermelha.
Objectos
Range - Alguns dos mtodos mais importantes
16
Range
Exemplos de aplicaes de mtodos
Sub Limpa_conteudo()
Range("B1:B5").ClearContents Elimina o contedo do
EX. 1 End Sub range B1:B5
Elimina o
Sub Limpa_conteudo1()
contedo
EX. 2 Worksheets(Tabelas").Range("Unidades").ClearContents do range
End Sub Unidades.
Sub Copia()
O contedo do range
Range("A1:B10").Copy
EX. 3 A1 a B10 copiado para o
Range("D1:E10").PasteSpecial Range D1 a D10.
End Sub
Range
Exemplos de aplicaes de mtodos
Sub Copia1()
Range("A1:B10").Select O contedo do range
EX. 4 Selection.Copy A1 a B10 copiado para o
Range("D1:E10").Select Range D1 a D10.
ActiveSheet.Paste
End Sub
Sub Elimina_linha()
Selection.EntireRow.Delete As linhas seleccionadas so totalmente
EX. 5 End Sub eliminadas.
Sub Inicializa_celula()
Cells(1, 4).Value = 555 A clula correspondente linha 1
EX. 6 coluna 4 inicializada a 555
End Sub
17
Controlos Personalizados
(Botes de comando)
18
Controlos Personalizados
Criar Controlos
Seleccionar o controlo e desenh-lo no local pretendido.
Formatao de controlos
Cada controlo tem as suas propriedades e para fazer a sua
alterao necessrio seguir os passos seguintes:
Passo1: Seleccionar o controlo
Passo2: Formatar/Controlo/Formatar controlo
Passo3: Indicar/Alterar as propriedades pretendidas na caixa de
dilogo que surge no ecr.
Exemplo in Microsoft Office 2000 sem Fronteiras, Srgio Sousa e Maria Jos Sousa
19
Utilizao de Controlos Personalizados
Botes de comando
Procedimentos (VBA)
Exemplos
1. Insero de Dados
Sub inserir()
Dim salario, gerais, gestao As Long
salario = InputBox("Introduza a despesa Salrio", "Introduo de dados")
gerais = InputBox("Introduza a despesa Gerais", "Introduo de dados")
gestao = InputBox("Introduza a despesa Gesto", "Introduo de dados")
Application.Cells(7, 2) = salario
Application.Cells(8, 2) = gerais
Application.Cells(9, 2) = gesto
End Sub
Exemplo in Microsoft Office 2000 sem Fronteiras, Srgio Sousa e Maria Jos Sousa
20
Procedimentos (VBA)
Exemplos
2. Limpar 3. Terminar
Sub limpar() Sub Terminar()
Range("B7:B9").Select Application.Quit
Selection.ClearContents End Sub
End Sub
4. Ttulo da aplicao
Sub Titulo()
Application.Caption = " Gesto de despesas"
End Sub
Procedimentos (VBA)
Exerccios
21
Bibliografia
Microsoft Office 2000 sem fronteiras,Srgio
Sousa, Maria Jos Sousa
Manual de VBA, Lusa Domingues (ISCTE)
Microsoft Excel 2000 VBA Fundamentals,
Reed Jacobson
O Guia Prtico do Excel 2002, Ana Paula
Afonso
22