You are on page 1of 72

VISUAL BASIC FOR APPLICATIONS – MS EXCEL

2010 / 2011

Joaquim Pires Moreira

piresmoreira.dyndns.org
VBA - Excel

Cada ficheiro do Excel pode conter um projecto VBA e um


programa constituído por vários ficheiros

Quando guarda um ficheiro de Excel guarda


automaticamente o projecto VBA associado

Automatização de tarefas
OBJECTIVO
que envolvam objectos
Características do VBA

Podem ser acedidos


através do VBA

Joaquim Pires Moreira


VBA - Excel

Tudo o que é feito manualmente como criar, abrir e fechar


ficheiros, configurar páginas, definir limites, efectuar
cálculos, preencher linhas e colunas etc… pode ser
automatizado através de programação.

Ambiente de Facilitador de
Características do VBA

programação evitando
desenvolvimento memorização

Como aceder ao ambiente de desenvolvimento?

Joaquim Pires Moreira


VBA - Excel
Como aceder ? (Excel 2003)

Ou pela barra de ferramentas


do Visual Basic
Características do VBA

Joaquim Pires Moreira


VBA - Excel
Como aceder ? (Excel 2007)
Características do VBA

Joaquim Pires Moreira


VBA - Excel
Como aceder ? (Excel 2007)
Características do VBA

Joaquim Pires Moreira


VBA - Excel
Como aceder ? (Excel 2007)
Características do VBA

Joaquim Pires Moreira


VBA - Excel
O ambiente de desenvolvimento está associado a Macros,
pelo que poderá ser necessário “disponibilizar as Macros”

Excel 2003
Características do VBA

Joaquim Pires Moreira


VBA - Excel
O ambiente de desenvolvimento está associado a Macros,
pelo que poderá ser necessário “disponibilizar as Macros”

Excel 2007
Características do VBA

Joaquim Pires Moreira


VBA - Excel
O ambiente de desenvolvimento está associado a Macros,
pelo que poderá ser necessário “disponibilizar as Macros”

Excel 2007
Características do VBA

Joaquim Pires Moreira


VBA - Excel
O ambiente de desenvolvimento está associado a Macros,
pelo que poderá ser necessário “disponibilizar as Macros”

Excel 2007
Características do VBA

Atenção:
Activar todas as macros poderá permitir macros maléficas

Joaquim Pires Moreira


VBA - Excel
Ambiente de Programação do VBA

Atalho: ALT+F11
Explorador Projecto
Características do VBA

Janela de Edição de Código

Propriedades

Joaquim Pires Moreira


VBA - Excel
Ambiente de Programação do VBA

Folha1 – Código nesta


Explorador Projecto folha apenas pode ser
utilizado nesta folha
Características do VBA

Module1 – Código num


Modulo pode ser utilizado
em qualquer folha

Joaquim Pires Moreira


VBA - Excel
Ambiente de Programação do VBA

Mudar nome ao Projecto


(Ex.: MeuProjecto)
Características do VBA

Joaquim Pires Moreira


VBA - Excel
Ambiente de Programação do VBA
Colocar Password no Projecto
Características do VBA

Joaquim Pires Moreira


VBA - Excel
Ambiente de Programação do VBA
Cores do VBA
Características do VBA

Joaquim Pires Moreira


VBA - Excel
A Primeira Macro - Regras

1. Identificar e validar a solução optimizada para o problema


1.1 Retroceder o ponto 1
2. Pressionar o botão “gravar macro” da barra de ferramentas
“Visual Basic”
3. Dar o nome à macro (sem espaços)
Características do VBA

4. Efectuar todos os passos identificados em “1” sem efectuar


mais nenhum “clique”.

Joaquim Pires Moreira


VBA - Excel
A Primeira Macro - Regras

5. Pressionar o botão de “Terminar Gravação”

6. Inserir uma “shape” (Forma) e atribuir a macro criada


Características do VBA

Pressionar lado direito do


rato e seleccionar
“Atribuir Macro”
Ponto provisório

Joaquim Pires Moreira


VBA - Excel

Um objecto é um elemento caracterizado por um


conjunto de propriedades e que tem subjacente um
determinado comportamento.

Cada objecto tem as suas propriedades


Programação em VBA

que podem ser outros objectos

Joaquim Pires Moreira


VBA - Excel

VS
Programação em VBA

Joaquim Pires Moreira


Programação em VBA VBA - Excel

Joaquim Pires Moreira


VBA - Excel

Para referenciar, ou alterar, uma propriedade de


um objecto, numa instrução VBA, deve indicar o
nome do objecto seguido de um ponto e do
nome da propriedade de
acordo com a sintaxe:
Programação em VBA

Joaquim Pires Moreira


VBA - Excel

Para executar um método de um objecto deverá


indicar o nome do objecto seguido de um ponto
e do nome do método pretendido.

Existem métodos que necessitam de


Programação em VBA

argumentos e nesse caso deve indicar-se tal


como em qualquer função do Excel, incluindo-os
entre parênteses.

Joaquim Pires Moreira


VBA - Excel

Os objectos mais utilizados no Excel são:


Programação em VBA

Joaquim Pires Moreira


VBA - Excel

Pode ser utilizado para alterar as


propriedades da aplicação.
Programação em VBA

Joaquim Pires Moreira


Programação em VBA VBA - Excel

Joaquim Pires Moreira


VBA - Excel

O WORKBOOK corresponde ao segundo objecto na


hierarquia e representa um ficheiro aberto no Excel.
Programação em VBA

Joaquim Pires Moreira


Programação em VBA VBA - Excel

Joaquim Pires Moreira


Programação em VBA VBA - Excel

Joaquim Pires Moreira


Programação em VBA VBA - Excel

Joaquim Pires Moreira


Programação em VBA VBA - Excel

Joaquim Pires Moreira


Programação em VBA VBA - Excel

Joaquim Pires Moreira


VBA - Excel

Objectos; Métodos e Propriedades


são separadas por “pontos” ( )

Para referenciar um objecto poderá utilizar o “nome” ou


o “número”.
Programação em VBA

Exemplo:

Worksheets(“Folha2”).name = “Tabelas”
Worksheets(2).name = “Tabelas”

Joaquim Pires Moreira


VBA - Excel

Application.workbooks(“Tabelas”).worksheets(“
Stock”).Range(“A1”).value = “Lista stocks”
Programação em VBA

worksheets(“Stock”).Range(“A1”).value =
“Lista stocks”

Joaquim Pires Moreira


VBA - Excel
Funções Úteis em VBA
Programação em VBA

Joaquim Pires Moreira


VBA - Excel
Funções Úteis em VBA
Programação em VBA

Joaquim Pires Moreira


VBA - Excel
Funções Úteis em VBA
Programação em VBA

Joaquim Pires Moreira


VBA - Excel

A interacção de uma folha de excel com o utilizador é


realizada através de controlos, que depois de
Controlos – variáveis – operadores VBA

accionados executam um programa em VBA

Joaquim Pires Moreira


VBA - Excel

Os controlos permitem estabelecer a interacção entre o


utilizador e a folha de calculo
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel

Os controlos permitem estabelecer a interacção entre o


utilizador e a folha de calculo
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel

Os controlos permitem estabelecer a interacção entre o


utilizador e a folha de calculo
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel

Os controlos permitem estabelecer a interacção entre o


utilizador e a folha de calculo
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel

Os controlos permitem estabelecer a interacção entre o


utilizador e a folha de calculo
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel

Os controlos permitem estabelecer a interacção entre o


utilizador e a folha de calculo
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel

Existem 2 modos de trabalho em Visual Basic


Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Propriedades dos objectos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Principais Propriedades dos objectos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Principais Propriedades dos objectos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Principais Propriedades dos objectos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Principais Propriedades dos objectos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Principais Propriedades dos objectos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Principais Propriedades dos objectos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Eventos dos controlos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Eventos dos controlos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Eventos dos controlos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Principais Eventos dos controlos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Principais Eventos dos controlos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Principais Eventos dos controlos
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Declaração de variáveis
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Declaração de variáveis
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Declaração de variáveis
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Declaração de variáveis
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Declaração de variáveis
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Operadores
Símbolos necessários para executar operações matemáticas,
Controlos – variáveis – operadores VBA

tratamento de texto, comparação e operações lógicas

Joaquim Pires Moreira


VBA - Excel
Operadores Aritméticos
Símbolos necessários para executar operações matemáticas
Controlos – variáveis – operadores VBA

Joaquim Pires Moreira


VBA - Excel
Operadores Relacionais
Uma expressão
Controlos – variáveis – operadores VBA

relacional traduz
uma comparação
realizada entre dois
valores do mesmo
tipo básico.
Retornam sempre
um resultado
“Booleano” (True ou
False)
Joaquim Pires Moreira
VBA - Excel
Operadores Lógicos
Sempre que a
Controlos – variáveis – operadores VBA

execução de uma
acção ou sequência
de acções está
sujeita a uma
condição. Retornam
sempre um resultado
“Booleano” (True ou
False)

Joaquim Pires Moreira


VBA - Excel
Operadores Lógicos
Sempre que a
Controlos – variáveis – operadores VBA

execução de uma
acção ou sequência
de acções está
sujeita a uma
condição. Retornam
sempre um resultado
“Booleano” (True ou
False)

Joaquim Pires Moreira


VBA - Excel
Estruturas de Controlo

Estruturas de Decisão
Controlos – variáveis – operadores VBA

IF <condição> THEN
<instruções>
ELSE SELECT CASE <variável>
<instruções> CASE IS <condição>
END IF <instruções>
CASE IS <condição>
<instruções>

CASE ELSE
<instruções>
END SELECT

Joaquim Pires Moreira


VBA - Excel
Estruturas de Controlo

Estruturas de Repetição
Controlos – variáveis – operadores VBA

FOR <início> TO <fim> STEP <incremento>


<instruções>
END FOR
WHILE <condição>
<instruções>
WEND

DO
<instruções>
LOOP UNTIL <condição>

Joaquim Pires Moreira


VBA - Excel Funções de Interação

Entrada de dados
Controlos – variáveis – operadores VBA

Possibilita a entrada de dados pelo utilizador

Joaquim Pires Moreira


VBA - Excel Funções de Interação

Saída de dados
Controlos – variáveis – operadores VBA

Possibilita a saída de dados pelo utilizador

Joaquim Pires Moreira

You might also like