VBA no Excel
SESCOOP/PB
Francisco XAVIER da Costa
Instrutor de Informática
▪ MBA Gestão da Tecnologia da Informação
▪ Especialização em Informática e Comunicação na Educação
▪ Especialização em Gerência de Projetos de Software
▪ Graduação em Sistemas para Internet
▪ Aluno Especial Mestrado PPGTI - IFPB - Técnicas Avançadas de Programação
▪ Analista de Sistemas (desde 1984)
2
Olá!
Eu sou o Prof. Xavier
fxc.xavier@gmail.com
(83) 98846-9746 / 99956-0651
https://images.app.goo.gl/mQEkxuw2Cbf2DAcL9
Em poucas palavras fale de você!
✓ Quem é você ?
✓ O que você espera desse curso ?
✓ Como você vai acompanhar as aulas ?
4
https://images.app.goo.gl/E5EwypXwbmaHWARC7
www.xtisoft.info
6
www.xtisoft.info/sescoop/vba
Objetivo
Possibilitar ao aluno uma aprendizagem desde como se trabalhar com macros personalizadas no Excel até a implementação de soluções sofisticadas com o desenvolvimento de instruções da linguagem VBA.
https://images.app.goo.gl/oWr51UZiVStWkBBF7
Competências
https://images.app.goo.gl/R1x7sTWtg6qnm1A99
✓ Compreender a lógica de programação;
✓ Automatizar as tarefas das planilhas no Excel;
✓ Gravar Macro;
✓ Criar telas e formulários de entrada de dados;
✓ Desenvolver um projeto modelo.
8
Conteúdos
✓ Fundamentos básicos de Programação e VBA;
✓ Macros;
✓ O Ambiente VBE;
✓ Interfaces;
✓ Implementação do Sistema.
https://images.app.goo.gl/UmJbVUAuaA5X9MaA7
Por que VBA?
✓ Simplifica e agiliza processos;
✓ Cria funções dentro o Excel;
✓ Automatiza esforços repetitivos;
✓ Cria planilhas profissionais e formulários personalizados;
✓ Facilidade de programar.
https://images.app.goo.gl/WNgvVyxqSprCbrYo8
10
https://goo.gl/images/VlUc0d
Quando o assunto é conhecimento em Excel e VBA:
✓ Qual o meu real domínio?
✓ Preciso realmente aprender?
Motivo para aprender VBA
Ao dominar VBA você se tornará um profissional bem mais qualificado, destacando-se no mercado, ao qual terá mais agregação de valor ao seu trabalho, tanto através de emprego formal quanto trabalhando por conta própria.
https://images.app.goo.gl/5QH1WtgqDCiq6pFX8
12
Convencido dos benefícios de aprender VBA?
Então, aqui está a sua oportunidade de aprender:
✓ Preste atenção nas aulas;
✓ Faça os exercícios propostos;
✓ Dúvidas? Pergunte. Perguntar não ofende;
✓ Não entendeu? Explicaremos novamente;
✓ Compartilhe o que aprendeu com seu colega;
✓ Esteja sempre MOTIVADO.
https://images.app.goo.gl/RNqECUw2b6n3DVkHA
O que é VBA?
VBA (Visual Basic for Applications) é um subconjunto da linguagem de programação VB que estar incorporada em alguns aplicativos do Microsoft Office para dar mais opções de controle e edição de documentos, permitindo que o usuário aplique recursos de programação, pois oferece um arsenal de possibilidades para automatização de diversos processos, sendo seu uso mais explorado no Excel.
https://images.app.goo.gl/veXkZTzaur8Vi2UK7
14
Fundamentos Básicos de Programação
Programação - É um conjunto finito de instruções ou comandos com o objetivo principal de orientar realizações de tarefas no computador. A programação pode ser estruturada
ou orientada a objetos.
https://images.app.goo.gl/C3VJem9gUozwBpja9Linguagem de programação - É um método padronizado, formado por um conjunto de regras sintáticas e semânticas, de implementação de um código fonte que pode ser compilado e transformado em um programa de computador.
https://images.app.goo.gl/jmSTEa7UEYxi3KCX7
Programação Estruturada ou Procedural - É uma maneira de programação que sugere que todos os programas possíveis podem ser restritos a apenas três estruturas: sequência, decisão e iteração ou repetição.
Programação Orientada a Objetos - É um paradigma de programação que se propõe a
abordar o design de um sistema em termos de entidades, objetos, e relacionamentos entre
essas entidades.
16
Algoritmo – É uma sequência finita de ações executáveis que visam obter uma solução para um determinado tipo de problema. Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa.
https://images.app.goo.gl/gKCnv3HKoiJ43Tro7 https://images.app.goo.gl/r1DXYUn8WaM3p5988
Módulos - São coleções de declarações agrupadas e organizadas em procedimentos.
Procedures
–São escritas de código de programa que executam determinadas ações:
• Sub e End Sub – Executa um determinada tarefa sem retornar resultado;
• Function e End Function - Executa um determinado cálculo ou tarefa e retorna um resultado;
18
Variáveis - São espaços de memória para armazenar valores temporários durante a execução
de uma aplicação. Toda variável recebe um nome e deve ser declarada antes de ser utilizada,
apesar de não ser obrigatório, dessa forma, a memória será otimizada, já que informamos,
previamente, os tipos de dados que serão guardados.
Declarando Variáveis - As variáveis podem ser declaradas, usando as seguintes palavras- chave para definir seu escopo ou local (procedimento ou módulo) onde elas podem ser acessadas ou manipuladas.
• Dim - O valor da variável é retido apenas enquanto o procedimento no qual ela foi declarada estiver em execução (Ex: Dim dataNasc As Date);
• Static - A variável preserva o valor entre as chamadas ao procedimento (Ex: Static Juros As Integer);
• Private - O valor fica disponível a todos os procedimentos dentro do módulo onde a variável foi declarada (Ex: Private Area As Double);
• Public - A variável pode ser acessada pelos procedimentos de vários módulos de uma
pasta de trabalho (Ex: Public Total As Currency).
20
Tipos de Variáveis - O tipo de uma variável determina o modo de armazenamento e a
quantidade em bytes de memória que ela ocupará. O VBA opera com os seguintes tipos:
Constantes - Uma variável declarada com o qualificador const, significa que seu valor não poderá ser alterado depois. No momento da declaração deverá ser atribuído um valor a ela.
Arrays (Vetores e Matrizes) - São estruturas de dados homogêneas conhecidas também como
variáveis indexadas. São conjuntos de elementos da mesma natureza. Podemos armazenar
em Vetores ou Matrizes uma grande quantidade de variáveis do mesmo tipo.
22
Objetos - Tudo que existe no Excel são objetos e podem ser manipulados pelo VBA.
Um objeto representa um elemento, como uma planilha, uma célula, um gráfico, um formulário ou um relatório.
• Objeto é uma instância de classe;
• Cada objeto possui ou conhece sua classe e tem sua própria característica;
• Vários objetos podem compartilhar um método.
Classes - Servem para projetar objetos. Cada objeto é classificado em uma classe, que
determina que tipo de objeto ele é. Objetos da mesma classe tem os mesmos métodos e
propriedades.
Propriedades (Atributos) - São a caracterização dos objetos. Podemos dizer que são as variáveis internas, o estado interno. Quando o programador define uma propriedade de um objeto, geralmente ele especifica o nome e o tipo. Algumas propriedades podem sofrer mudanças e outras não.
Podemos também acessar o valor de uma propriedade de um objeto e atribuí-lo a uma variável.
Por exemplo, atribuímos o valor da célula A1 a variável Nome, que passaria a conter a palavra
“SESCOOP”, no caso
24
Métodos - São ações aplicadas a um determinado objeto. São formas de interação com o objeto. Para executar um método é só informar o objeto e qual método deseja executar.
Eventos - São ações que ocorrem durante a execução do aplicativo e podem ser configuradas
para serem executadas quando tais eventos ocorrerem. Por exemplo, imagine que você queira
que uma mensagem de boas-vindas, seja exibida sempre que a sua pasta de trabalho do Excel
for iniciada.
Coleções - São grupos de objetos da mesma classe. Contém vários objetos de um mesmo tipo.
Por exemplo, a coleção Workbooks contém vários objetos do tipo Workbook (mais especificamente as pastas de trabalhos abertas).
• Workbooks – Pastas de trabalho do Excel
• Worksheets – Planilhas de uma pasta de trabalho
• Worksheets(1)
• Worksheets(“Planilha1”)
• Workbooks("Book1").Worksheets("Planilha1")
26
Analisemos a figura abaixo para entendermos melhor o que são objetos, propriedades,
métodos, eventos, classes, coleções e variáveis.
Rotinas Públicas e Privadas no VBA – São os procedimentos (Sub e Function) de eventos.
Public - São aquelas que podem ser executadas dentro de qualquer parte do projeto e também por outros projetos que façam referência a esse.
Private - São aquelas que só podem ser executadas no módulo que foram escritas.
28
Operadores de Atribuição - É representado pelo sinal de igualdade (=) e usado para atribuir valores às variáveis.
Operadores Aritméticos - Aplicam-se em cálculos matemáticos de variáveis e constantes
numéricas.
Operadores Relacionais - Fazem comparações em expressões lógicas, ou seja, verificam a
relação de magnitude e igualdade entre dois valores.
30