EXCEL e VBA. Visual Basic for Applications. Tutoriais de VBA



Documentos relacionados
4 Criação de macros e introdução à linguagem VBA

Tutorial 1 - Básico do VBA do Excel

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA

Primeiramente lemos a seguinte citação, copiada de Excel-Ajuda:

BARRA DE PROGRESSO EM VBA

A1;A7 é o mesmo que A1 e A7 A1:A7 é o mesmo que A1 até A7 (abrange A1, A2, A3, A4, A5, A6, A7).

Microsoft Excel Macro V. Índice 16-) Formulários ) Gerando código para o Formulário... 49

Trabalhando com Arquivos de Texto no VBA

FTIN Formação Técnica em Informática Módulo de Automação de Escritório AULA 05. Prof. Fábio Diniz

APOSTILA DE VBA PARA EXCEL MARCOS DE BARROS OUTUBRO DE RISK MANAGEMENT

Informática II Ficha 5_resolução

Unidade 19: Macros Introdução Antes de você começar. Adicionando a Guia Desenvolvedor

Excel - VBA. Macrocomandos (Macros) O que é uma macro? São programas que executam

Tutorial 2 Básico do VBA do Excel

CRIANDO FUNÇÕES EM VISUAL BASIC PARA TRANSFORMAÇÕES DE GRAUS SEXAGESIMAIS

Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

Visual Basic for Applications: # 1

Parte 5 LibreOffice Base

Programação em Visual Basic for Applications & Excel

Escola Info Jardins. Microsoft Excel Aula 1

COMO OTIMIZAR A SUA PLANILHA ATRAVÉS DA GRAVAÇÃO DE UMA MACRO EM EXCEL

ÍNDICE... 2 INTRODUÇÃO... 4

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada.

Ajuda do Sistema Aquarius.

Visual Basic for Applications

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

Professor: Macêdo Firmino Informática para Administração Introdução ao Excel

MICROSOFT EXCEL AVANÇADO

2 echo "PHP e outros.";

Capítulo I Preliminares: Visual Basic na planilha eletrônica Excel.

Programação Básica em Arduino Aula 2

Avançado. Visão geral do ambiente do VBA Retornar à planilha Excel

LIÇÃO 1 - USANDO O GRAVADOR DE MACROS

PROVA DE NOÇÕES DE MICROINFORMÁTICA

Instalação do SisAlu 1. Apostila de Instalação do SisAlu

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Microsoft Excel Macros aula 1

1 - INTRODUÇÃO AO AutoCAD 2011

Noções Várias em Visual Basic

PowerPivot FÁBIO ÁVILA / THIAGO CARVALHO

Excel 2010 Modulo II

indicadas por letras e linhas, indicadas por números. Para selecionar uma planilha para uso, devemos utilizar a guia de planilhas:

Associação Educacional Dom Bosco Curso de Engenharia 1º ano

Sub AcessaWeb(url, x) ' recebe uma url para pesquisar e devolve uma planilha ' Solicita a criação da planilha x

Algoritmos e Programação Estruturada

Programação WEB I Estruturas de controle e repetição

Resumo da Matéria de Linguagem de Programação. Linguagem C

Microsoft Access XP Módulo Um

PROVA DE CONHECIMENTOS ESPECÍFICOS PROFESSOR II INFORMÁTICA

Manipulando Strings no VBA (Replace, Mid e InStr)

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Laboratório de Programação I

Sumário. Capítulo l - Introdução ao VBA

Instruções para a atividade

Microsoft Visual Studio Express 2012 for Windows Desktop

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

Avançado. Visão geral do ambiente do VBA Retornar à planilha Excel

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

MS-Excel 2010 Essencial (I)

EXCEL PARA ESPECIALISTAS

DESENVOLVIMENTO DE SOFTWARE

1 Code::Blocks Criação de projetos

PREFEITURA MUNICIPAL DE BOM DESPACHO-MG PROCESSO SELETIVO SIMPLIFICADO - EDITAL 001/2009 CARGO: MONITOR DE INCLUSÃO DIGITAL CADERNO DE PROVAS

Montar planilhas de uma forma organizada e clara.

MICROSOFT EXCEL - AULA NÚMERO 06

APOSTILA DE EXCEL 2007

Iniciando o MySQL Query Brower

Treinamento em BrOffice.org Calc

Sumário. Visual Basic Application para Excel. Prof. Luiz Bianchi Universidade Regional de Blumenau

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

LIÇÃO 1 - GRAVANDO MACROS

PROGRAMANDO EM C# ORIENTADO A OBJETOS

FUNCTION ) RETURNS INTEGER AS $$ DECLARE

Questão Essência do Excel

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

DESENVOLVIMENTO DE SOFTWARE

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público Índice

AutoLISP - IV Ambiente de programação Visual Lisp. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

OPERADORES E ESTRUTURAS DE CONTROLE

Aplicações de Escritório Electrónico

JavaScript (Funções, Eventos e Manipulação de Formulários)

Introdução aos cálculos de datas

INTRODUÇÃO À PROGRAMAÇÃO DO ACCESS BASIC

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Módulo 1a: Introdução ao Visual Basic for Applications (VBA)

Aula 02 Excel Operações Básicas

INTRODUÇÃO À LINGUAGEM C++

Entendendo as janelas do Windows Uma janela é uma área retangular exibida na tela onde os programas são executados.

Aplica/remove sublinhado.

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos.

Livro Caixa. Copyright ControleNaNet

Nota de Aula: Utilização da IDE Code::Blocks

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA)

Manipulando Strings no VBA (Replace, Mid e InStr)

INFORMÁTICA APLICADA III APOSTILA VISUAL

Transcrição:

EXCEL e VBA Visual Basic for Applications

Escopo da Apresentação Integração do VBA com Excel Descrição do ambiente de programação do VBA Conceitos básicos de programação Exemplos usando VBA

Background do BASIC BASIC = Beginner s All-Purpose Symbolic Instruction Code Linguagem criada no início dos anos 60. 1991 Microsoft lança o VB para aplicações standalone. 1995 Microsoft lança Office 95 cujas aplicações (Excel, Word, PowerPoint, etc) incluem VBA. VBA = Visual Basic for Applications linguagem script comum para todas as aplicações da Microsoft.

Motivação para se usar o VBA Excel Um programa muito eficiente (Sem concorrente!!) VBA Complemento para o Excel LOOPS: ineficiente no Excel, eficiente no VBA

Ambiente de Programação Nenhuma instalação extra é necessária para se usar o VBA Para acessar o VBA vá: Desenvolvedor Código Macro

Segurança Clique no botão do Office e em Opções do Excel. Na janela Opções do Excel clique em Central de Confiabilidade e a seguir em Configuraçãoes da Central de Confiabilidade. Marque o botão Habilitar todas as MACROS.

Visual Basic Editor (VBE) VBE pode ser acessado indo para: guia Desenvolvedor grupo Código Visual Basic ou pressionando Alt + F11

Criando um Módulo em VBA Para iniciar a programação devemos primeiro criar um Módulo na pasta (Workbook)

Janela Imediata A Janela Imediata pode ser acesssada indo a:exibir Eibi Janela Verificação imediata ou pressionando Ctrl + G. Ela é como uma Janela Command Window

Objetos Básicos do VBA Et Estes são osobjetos mais freqüentemente t usados do VBA: Range: refere-se a uma célula particular do Excel. Exemplo: Range("a2") a2 ).Value=3 Cells: uma outra maneira de se referir a uma célula particular do Excel. Exemplo: Cells(2,2).Value=6 Worksheets: refere-se a uma planilha particular do Excel. Exemplo: Worksheets( Plan3").Select Worksheetfunction: chama as funções disponíveis do Excel. Exemplo: Worksheetfunction.Fact(3) MsgBox: mostra uma mensagem no Excel. Exemplo: MsgBox Application.Name?: mostra um resultado, variável, etc Na Janela Imediata. Exemplo: a=worksheetfunction.fact(3)?a 6

Variáveis Elas contêm dados temporários Podemos pensar nas variáveis como células do Excel armazenaddas na memória RAM do PC Embora não seja obrigatório, é uma BOA prática de programação definir o tipo de informação que as variáveis armazenarão (em execuções longas ela economiza UM POUCO de tempo). Isto é chamado declarar uma variável O tipo de informação que podemos armazenar numa variável depende do tipo de dados escolhido para aquela variável

Tipos de Dados do VBA (I) Byte: armazena inteiros sem sinais entre 0 e 225 Boolean: armazena Verdadeiro ou Falso Integer: armazena inteiros entre -32.768 e 32.767 Long: armazena inteiros entre -2.147.483.648 e 2.147.483.647 Currency: armazena inteiros i na escala de 10.000000 entre - 922.337.203.685.477,5808 e 922.337.203.685.477,5807 Single: armazena números de ponto flutuante entre -3,402823E38 e -1,401298E-45 para valores negativos e entre 1,401298E-45 e 3,402823E38 para valores positivos Double: armazena números de pontos flutuantes entre 1,79769313486231E308 e -4,94065645841247E-324 para valores negativos e entre 4,94065645841247E-324 e 1,79769313486232E308 para valores positivos

Tipos de Dados do VBA (II) Date: armazena datas (números de pontos flutuantes) entre 1º Janeiro de 100 e 31 de Dezembro de 9999 e tempo entre 0:00:00 e 23:59:59 String: armazena string de caracteres. Existem duas espécies de strings: Strings de tamanhos variáveis: podem conterr até 2.000 milhões (2^31) de caracteres Strings de tamanho fixo: podem conter entre 1 e 64 KB (2^16) caracteres Object: armazena endereços que se referem a outros objetos Variant (predeterminada): tipo de dado default para cada variável que não é declarada como de qualquer outro tipo User defined type: tipo de dado criado pelo usuário

Declaração de Variável As variáveis são declaradas antes de serem usadas, geralmente no início do programa Os exemplos abaixo mostram os tipos de dados usados mais comuns Adicionando Option Explicit força a declaração da variável (recomendado) Exemplos: Option Explicit Dim Result as Long Dim Totalsum as Double Dim Description as String Dim Startdate as Date

Variáveis Especiais Contadores e Acumuladores: variáveis i especiais i que armazenam certos valores quando se executa um LAÇO Contadores: armazena um, usado para contagem Exemplo: Dim Iteration as Long Iteration = Iteration + 1 Acumuladores: armazena qualquer valor, usado para somatórios Exemplo: Dim Somatotal as Double Somatotal = Somatotal + Saldo

Estruturas Padrões de Programação If End If Select Case End Select Bifurcação For Next Do While - Loop Circulação Exit Declarações Especiais With End With

If End If (I) Esta é a maneira mais comum para manipular bifurcação É análoga à função se() do Excel Sintaxe: If <Condição> then [Instruções se a Condição if for Verdadeira] Else [Instruções se a Condição if for Falsa] End If

If End If (II) Exemplo: Sub Multiplicação1() Dim Mult as Double Mult = Range( a1 ).Value*Range( b1 ).Value If Mult > 20 Then MsgBox Maior que 20" Else MsgBox Menor que ou igual a 20" End If End Sub

Select Case End Select (I) Esta estrutura é análoga à estrutura If End If Ela foi projetada para evitar os If End If aninhados Sintaxe: Select Case <Expressão> Case < Condição 1> [Instruções se a Condição 1 if for Verdadeira]... Case < Condition n> [Instruções se a Condição n if for Verdadeira] Case Else [Instruções se as n Condições Anteriores forem Falsas] End Select

Select Case End Select (II) Exemplo Sub Multiplicacao2() Dim Mult as Double Mult = Range( a1 ).Value*Range( b1 ).Value Select Case Mult Case Is < 10 MsgBox Menor que 10" Case Is < 15 MsgBox Maior que ou igual a 10 e menor que 15" Case Is < 20 MsgBox Maior que ou igual a15emenor que 20" Case Else MsgBox Maior que ou igual a 20" End Select End Sub

For Next (I) Este é o laço mais simples e mais amplamente usado Especificamos quantas vezes o laço será repetido Sintaxe: For <Contador=Início> To <Fim> Next [Instruções]

For Next (II) Exemplo: Sub CalcularTotal1() Dim Contador As Integer Dim Total As Double Total=0 For Contador = 2 To 15 If Range( a" a & Contador).Value = "Centro" Then Total = Total + Range( b" & Contador).Value End If Next Range( d2").value = Total End Sub

Do While Loop (I) Este é outro laço comumente usado Especificamos que o laço será repetido enquanto uma certa condição for verdadeira d Sintaxe: Do While <Condição> [Instruções Enquanto a Condição for Verdadeira] Loop

Do While Loop (II) Exemplo: Sub Calcularotal2() Dim Contador As Integer Dim Total As Double Contador = 2 Total = 0 Do While Range( a" & Contador).Value <> Sul" Total = Total + Range( b" & Contador).Value Contador = Contador + 1 Loop Range( d2").value = Total End Sub

Exit (I) Esta declaração é usada para encerrar o bloco: For Next Exit For Do While Loop Exit Do Function End Function Exit Function Sub End Sub Exit Sub Sintaxe: (dentro de um bloco For Next) For <Contador=Inicio> To <Fim> [Instruções] If <Condição> then [Sair se a condição for verdadeira] End If Next

Exit (II) Exemplo: Sub CalcularTotal3() Dim Contador As Integer Dim Total As Double Total=0 For Contador =2To15 If Range( b" & Contador).Value < 0 Then Msgbox Há um erro no número registrado & Contador - 1 Total=0 Exit For End If If Range( a" & Contador).Value = "Centro" Then Total = Total + Range( b" & Contador).Value End If Next Range( d2").value = Total End Sub

With End With (I) Esta estrutura é usada para encurtar as declarações e acelerar a execução do código Embora seja similar, il NÃO é uma estrutura t de laço Sintaxe: With <Objeto> [Instruções] End With

With End With (II) Exemplo: SEM usar a estrutura With End With Sub CalcularTotal() Dim Contador As Integer Dim Total As Double Contador = 2 Total = 0 Do While Worksheets( Plan1").Range( a" & Contador).Value <> Sul" Total = Total + Worksheets( Plan1").Range( b" & Contador).Value Contador = Contador + 1 Loop Worksheets( Plan1").Range( d2").value = Total End Sub

With End With (III) Exemplo: usando a estrutura With End With Sub CalcularTotal() Dim Contador As Integer Dim Total As Double Contador = 2 Total = 0 With Worksheets( Plan1") Do While.Range( a" & Contador).Value <> Sul" Total = Total +.Range( b" & Contador).Value Contador = Contador +1 Loop.Range( d2").value = Total End With End Sub

Rodando um Programa Um programa é um conjunto organizado de instruções para realizar certas tarefas Nos programas VBA são chamados de procedimentos Existem somente dois tipos de procedimentos VBA: Function procedures Sub procedures Certas tarefas são realizadas mais eficientemente i t com Function procedures e algumas outras tarefas podem ser feitas mais eficientemente com Sub procedures Para rodar um programa ou procedure, devemos então rodar uma Function or Sub procedure

Function Procedures (I) Function Procedures: conjuntos de instruções que realizam certas tarefas e retornam um valor (podemos pensar nas Function Procedures como funções do Excel) Elas NÃO podem modificar os objetos (p. ex.: modificar um valor da célula) Elas são usualmente executadas de uma célula automaticamente (como qualquer função Excel ) Sintaxe: Function Procedure_Nome([Lista de Argumentos]) [As Tipo de Dado] [Instruções] End Function

Function Procedures (II) Exemplo: Function Mult(Var1 As Double, Var2 As Integer) As Double Mult = Var1 * Var2 End Function

Localizando as Funções do Excel Todas as funções que criamos podem ser encontradas e executadas em: Inserir Função Definida pelo usuário

Sub Procedures (I) Sub Procedures: conjuntos de instruções que realizam certas tarefas Elas PODEM modificar os objetos (pex.: modificar um valor de célula) Elas NÃO podem ser executadas de uma célula (como uma função Excel ou uma Function Procedure) Elas podem ser executadas manualmente do VBA Editor, da Janela Macro, usando Formulários numa planilha, etc Sintaxe: Sub Procedure_Nome([Lista de Argumentos]) [Instruções] End Sub

Sub Procedures (II) Exemplo: Sub CalcularTotal2() Dim Contador As Integer Dim Total As Double Contador = 2 Total = 0 Do While Range( a" a & Contador).Value <> Sul" Total = Total + Range( b" & Contador).Value Contador = Contador + 1 Loop Range( d2").value = Total End Sub

Executando um Sub Procedures no VBE Colocando o cursor na macro podemos executar, ir para: Executar Executar Sub/UserForm, ou pressionando F5 Podemos também usar a Janela Imediata para executar as nossas macros Mas gostaríamos de executar nossas macros do Excel

Executando Sub Procedures no Excel (I) Todos os Sub Procedures que criamos podem ser encontrados e executados em: Desenvolvedor Código Macros. Esta maneira de executar é enrolada, mas existe uma outra muita mais fácil

Executando Sub Procedures no Excel (II) Podemos executar nossas macros usando Formulários Formulários melhoram substancialmente nossas planilhas e dão a elas um aspecto profissional Nota: existem 2 versões de Formulários: Formulário Completo : no menu de Caixa de Ferramentas de Controle Formulário Simplificado : no menu Formulário Professional Programming g Amateur Programming Geralmente usaremos os Formulários Simplificados

Forms (I) Label Button List Box Combo Box Spinner Group Box Check Box Option Button Scroll Bar

Formulários (II) Label: contém apenas texto informativo Group Box: grupos de formulários relacionados Button: apenas executa uma macro quando pressionado Check Box: ativa ou desativa uma alternativa Option Button: seleciona uma entre muitas alternativas

Formularios (III) List Box: contém uma lista de elementos Combo Box: contém uma lista de elementos drop-down Scroll Bar: rola através de um intervalo de valores Spinner: muda o valor de uma célula

Executando Macros com um Button Esta é a Forma natural de se executarem macros de uma planilha. Contudo, podemos atribuir uma macro a qualquer outro Formulário

Propriedades de uma Group Box 3-D shading: dá o aspecto de um Formulário 3-D Nota: este Formulário é usado freqüentemente para melhorar oaspecto visual da planilha. Contudo, é essencial para agrupar Option Buttons

Propriedades do Button Esta é a Forma natural para executar macros da planilha. Não existem propriedades interessantes para este Formulário

Propriedades da Check Box Value: determina o estado da Check Box. Ela pode ser Não Verificada,Verificada ou Misturada (indefinida) id Cell link: refere-se à célula que armazenará o estado da Check Box. Ela armazenará False (Não Verificada), Verdadeira (Verificada) ou #N/A (Misturada) 3-D shading: dá o aspecto de Formulário 3-D

Propriedades do Option Button Value: determina o estado do Option Button. Ele pode ser Não Verificado ouverificado Cell link: refere-se à célula que armazenará o estado do Option Button. Ela armazenará 0 (Não Verificado) ou 1 (Verificado). Se mais do que 1 Option Buttons forem usados (quase sempre), a célula armazenará o número de Option Button Verificados 3-D shading: dá o aspecto de Formulário 3-D

Propriedades da List Box Input range: refere-se a uma lista de elementos numa planilha Cell link: refere-se à célula que armazenará o elemento selecionado Selection type: especifica a espécie de seleção. A maioria frequentemente usada é Single 3-D shading: gives the Form a 3-D aspect

Propriedades of Combo Box Input range: refere-se a uma lista de elementos numa planilha Cell link: refere-se a uma célula que armazenará o elemento selecionado Drop down lines: especifica o número de elementos mostrados quando a Combo Box estiver listando os elementos 3-D shading: dá o aspecto de Formulário 3-D

Propriedades da Scroll Bar Current Value: mostra o valor atual da Scroll Bar Minimum value: mostra o valor mínimo da Scroll Bar Maximum value: mostra o valor máximo da Scroll Bar Incremental change: mostra quantas unidades a Scroll Bar muda quando uma extremidade é clicada Page change: mostra quantas unidades a Scroll Bar muda quando a parte interna for clicada Cell link: refere-se à célula que armazenará o valor atual da Scroll Bar 3-D shading: dá o aspecto de Formulário 3-D

Propriedades do Spinner As mesmas propriedades da Scroll Bar, exceto para mudança de Página, que não está disponível para este Formulário

Exemplo de Excel + VBA A planilha contém os preços de abertura diários de 5 anos da Bayer, Microsoft, Exxon e Bank of America Tarefas: 1. Use uma Combo Box para escolher uma companhia 2. Usando Option Buttons crie 3 alternativas de retornos: semanal, mensal ou annual 3. Usando Option Buttons crie 2 alternativas de retornos : contínuo ou discreto 4. Usando Check Boxes crie 3 alternativas: calcule o retorno médio e/ou a variança dos retornos e/ou os parâmetros OLS (regressão linear) do CAPM 5. Use um Button para executar o programa (Sub Procedure) e armazene os resultados numa nova coluna

Depurador (Debugger) do VBA Depurar ou consertar programas é um aspecto da programação que NENHUM programador pode evitar. Contudo, o VBA tem um poder de depurar Duas ferramentas importantes t de depuração são: Breakpoints Execução Passo por Passo, em : Debug Step Into, ou pressionando F8

Gravador de Macro O Gravador de Macro é uma característica muito importante do VBA (e de muitas outras linguagens) Sua intenção é principalmente ajudar os usuários do Excel a criarem macros (e acelerar tarefas repetitivas) Contudo, um uso inteligente do Gravador de Macro pode expandir o Excel além do seu escopo original e acelerar o processo de aprendizagem de programação Podemos acessar isto em: Ferramentas Macro Gravar Nova Macro