Escolar Documentos
Profissional Documentos
Cultura Documentos
Apresentacaosobre VBA
Apresentacaosobre VBA
Tutoriais de VBA
Escopo da Apresentao
Integrao do VBA com Excel Descrio do ambiente de p g programao do VBA Conceitos bsicos de programao Exemplos usando VBA
Tutoriais de VBA
Background do BASIC
BASIC = Beginners All-Purpose Symbolic Instruction Code g p y Linguagem criada no incio dos anos 60. 1991 1995 Microsoft lana o VB para aplicaes standalone. Microsoft lana Office 95 cujas aplicaes (Excel, Word, PowerPoint, etc) incluem VBA.
VBA = Visual Basic for Applications linguagem script comum para todas as aplicaes da Microsoft.
Tutoriais de VBA
Excel
Complemento para o E C l t Excel l VBA LOOPS: ineficiente no Excel, eficiente no VBA Excel
Tutoriais de VBA
Ambiente de Programao
Nenhuma instalao extra necessria para se usar o VBA Para acessar o VBA v: D P Desenvolvedor l d Cdigo Cdi Macro M
Tutoriais de VBA
Segurana
Clique no b t d Offi Cli boto do Office e em O d E Opes do Excel. N j l Na janela O l Opes do Excel clique em Central de Confiabilidade e a seguir em Configuraoes da Central de Confiabilidade. Marque o boto Habilitar todas as MACROS.
Tutoriais de VBA
Tutoriais de VBA
Tutoriais de VBA
Janela Imediata
A J Janela I di t pode ser acesssada i d a: E ibi l Imediata d d indo Exibir Janela V ifi J l Verificao imediata ou pressionando Ctrl + G. Ela como uma Janela Command Window
Tutoriais de VBA
Variveis
Elas contm dados temporrios Podemos pensar nas variveis como clulas do Excel clulas Excel armazenaddas na memria RAM do PC Embora no seja obrigatrio, uma BOA prtica de programao definir o tipo de informao que as variveis armazenaro (em execues longas ela economiza UM POUCO de tempo). Isto chamado declarar uma varivel O tipo de informao que podemos armazenar numa varivel depende do tipo de dados escolhido para aquela varivel
Tutoriais de VBA
Declarao de Varivel
As variveis so declaradas antes de serem usadas, geralmente no incio do programa Os exemplos abaixo mostram os tipos de dados usados mais comuns Adicionando Option Explicit fora a declarao da varivel Option Explicit (recomendado) Exemplos: Option Explicit Dim Result as Long Dim Totalsum as D bl Di T t l Double Dim Description as String Dim Startdate as Date
Tutoriais de VBA
Variveis Especiais
Contadores e A C t d Acumuladores: variveis especiais l d i i i i armazenam certos valores quando se executa um LAO Contadores: armazena um, usado para contagem que
Tutoriais de VBA
Tutoriais de VBA
If End If (I)
Esta a maneira mais comum para manipular bifurcao anloga f l funo se() d E () do Excel l Sintaxe: If <Condio> then [Instrues se a Condio if for Verdadeira] Else [Instrues se a Condio if for Falsa] End If
Tutoriais de VBA
If End If (II)
Exemplo: Sub Multiplicao1() Dim Mult as Double Mult = Range(a1).Value*Range(b1).Value If Mult > 20 Then MsgBox Maior que 20" Maior Else MsgBox Menor que ou igual a 20" End If End Sub
Tutoriais de VBA
Tutoriais de VBA
Tutoriais de VBA
Tutoriais de VBA
Exit (I)
Esta declarao usada para encerrar o bloco: For Next Do While Loop Function End Function Sub End Sub Sintaxe: (dentro de um bloco For Next) For <Contador=Inicio> To <Fim> [Instrues] If <Condio> then [Sair se a condio for verdadeira] End If Next
Tutoriais de VBA
Exit (II)
Exemplo: E l Sub CalcularTotal3() Dim Contador As Integer Dim Total As Double Total=0 For Contador = 2 To 15 If Range(b" & Contador).Value < 0 Then Msgbox H um erro no nmero registrado & Contador - 1 Total 0 Total=0 Exit For End If If Range(a" & Contador).Value = "Centro" Then g ( ) Total = Total + Range(b" & Contador).Value End If Next Range(d2").Value = Total End Sub
Tutoriais de VBA
Tutoriais de VBA
Rodando um Programa
Um programa um conjunto organizado de instrues para realizar certas tarefas Nos programas VBA so chamados de procedimentos Existem somente dois tipos de procedimentos VBA: Function procedures Sub procedures Certas tarefas C t t f so realizadas mais eficientemente com F li d i fi i t t Function ti procedures e algumas outras tarefas podem ser feitas mais eficientemente com Sub procedures Para rodar um programa ou procedure, devemos ento rodar uma Function or Sub procedure
Tutoriais de VBA
Sintaxe: Function Procedure_Nome([Lista de Argumentos]) [As Tipo de Dado] [Instrues] End Function
Tutoriais de VBA
Tutoriais de VBA
Tutoriais de VBA
Tutoriais de VBA
Tutoriais de VBA
Tutoriais de VBA
Professional Programming g g
Amateur Programming
Forms (I)
Label
Button
Spinner
Group Box
Check Box
Option Button
Scroll Bar
Tutoriais de VBA
Formulrios (II)
Label: contm apenas texto informativo Group Box: grupos de formulrios relacionados Button: apenas executa uma macro quando pressionado B tt t d i d Check Box: ativa ou desativa uma alternativa Option Button: seleciona uma entre muitas alternativas
Tutoriais de VBA
Formularios (III)
List Box: contm uma lista de elementos Combo Box: contm uma lista de elementos drop-down Scroll B rola atravs d um i t S ll Bar: l t de intervalo d valores l de l Spinner: muda o valor de uma clula
Tutoriais de VBA
Tutoriais de VBA
Tutoriais de VBA
Propriedades do Button
Esta a Forma natural para executar macros da planilha. No existem propriedades interessantes para este Formulrio
Tutoriais de VBA
Tutoriais de VBA
Tutoriais de VBA
Tutoriais de VBA
Tutoriais de VBA
Propriedades do Spinner
As mesmas propriedades da Scroll Bar, exceto para mudana de Pgina, que no est di P i t disponvel para este F l t Formulrio l i
Tutoriais de VBA
5.
Use uma Combo Box para escolher uma companhia Usando Option Buttons crie 3 alternativas de retornos: semanal, mensal ou annual Usando Option Buttons crie 2 alternativas de retornos : contnuo ou discreto Usando Check Boxes crie 3 alternativas: calcule o retorno mdio e/ou a variana dos retornos e/ou os parmetros OLS (regresso linear) do CAPM Use um Button para executar o programa (Sub Procedure) e armazene os resultados numa nova coluna lt d l
Tutoriais de VBA
Tutoriais de VBA
Gravador de Macro
O Gravador de Macro uma caracterstica muito importante do VBA (e de muitas outras linguagens) Sua inteno principalmente ajudar os usurios do Excel a criarem macros (e acelerar tarefas repetitivas) Contudo, um uso inteligente do Gravador de Macro pode expandir o Excel alm do seu escopo original e acelerar o processo de aprendizagem de programao Podemos acessar isto em: Ferramentas Macro Gravar Nova Macro
Tutoriais de VBA