Example: bankruptcy

EXCEL e VBA - bertolo.pro.br

EXCEL e VBAV isual Basic for ApplicationsTutoriais de VBAE scopodaApresenta oEscopoda Apresenta o Integra o do VBA com EXCEL Descri o do ambiente de programa o do pg VBA Conceitos b sicos de programa oConceitos b sicos de programa o Exemplos usando VBAT utoriais de VBAB ackground doBASICB ackground do BASICBASIC = Beginner s All-Purpose Symbolic Instruction CodegpyLinguagem criada no in cio dos anos Microsoft lan a o VB para aplica Microsoft lan a Office 95 cujas aplica es ( EXCEL , Word, PowerPoint, etc) incluem forApplications linguagemscriptcomumparaVBA Visual Basic for Applications linguagemscriptcomumparatodas as aplica es da de VBAM otiva oparaseusaro VBAM otiva oparase usaro VBAE xcelUm programa muito eficiente (Sem concorrente!!)Cl tElComplemento para o ExcelVBALOOPS: ineficiente no EXCEL eficiente no VBALOOPS: ineficiente no EXCEL , eficiente no VBAT utoriais de VBAA mbientedePrograma oAmbientede Programa oNenhuma instala o extra necess ria para se usar o VBAPVBA Dld C di MPara acessaro VBA v : Desenvolvedor C digo MacroTutoriais de VBAS eguran aClibt dOffiO dElNjlO Seguran aClique nobot odoOfficee emOp esdo Excelclique emCentral de Confiabilidadee a seguir emConfigura oes da Central de Confiabilidade.

Escopo da Apresentação Integração do VBA com Excel Descriççpgção do ambiente de programação do VBA Conceitos básicos de programaçãoConceitos básicos de ...

Tags:

  Excel, Bertolo, Excel e vba bertolo

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of EXCEL e VBA - bertolo.pro.br

1 EXCEL e VBAV isual Basic for ApplicationsTutoriais de VBAE scopodaApresenta oEscopoda Apresenta o Integra o do VBA com EXCEL Descri o do ambiente de programa o do pg VBA Conceitos b sicos de programa oConceitos b sicos de programa o Exemplos usando VBAT utoriais de VBAB ackground doBASICB ackground do BASICBASIC = Beginner s All-Purpose Symbolic Instruction CodegpyLinguagem criada no in cio dos anos Microsoft lan a o VB para aplica Microsoft lan a Office 95 cujas aplica es ( EXCEL , Word, PowerPoint, etc) incluem forApplications linguagemscriptcomumparaVBA Visual Basic for Applications linguagemscriptcomumparatodas as aplica es da de VBAM otiva oparaseusaro VBAM otiva oparase usaro VBAE xcelUm programa muito eficiente (Sem concorrente!!)Cl tElComplemento para o ExcelVBALOOPS: ineficiente no EXCEL eficiente no VBALOOPS: ineficiente no EXCEL , eficiente no VBAT utoriais de VBAA mbientedePrograma oAmbientede Programa oNenhuma instala o extra necess ria para se usar o VBAPVBA Dld C di MPara acessaro VBA v : Desenvolvedor C digo MacroTutoriais de VBAS eguran aClibt dOffiO dElNjlO Seguran aClique nobot odoOfficee emOp esdo Excelclique emCentral de Confiabilidadee a seguir emConfigura oes da Central de Confiabilidade.

2 Marque o bot oHabilitar todas as de VBAV isual Basic Editor (VBE)Visual Basic Editor (VBE)VBE pode seracessado indo para: guia Desenvolvedor grupoC digo Visual Basic ou pressionando Alt + F11 Tutoriais de VBAC riandoumM duloemVBAC riandoum M duloemVBAPara iniciara programa o devemos primeiro criarum M dulo na pasta(Workbook)Tutoriais de VBAJ anelaImediataAJlIditddidEibi Jl Vifi JanelaImediataAJanelaImediatapodeseraces ssadaindoa:Exibir Janela Verifica oimediata ou pressionando Ctrl + G. Ela como uma Janela Command WindowTutoriais de VBAO bjetosB sicosdo VBAEt bj tif t tddVBAO bjetosB sicosdo VBAE stes s oosobjetos maisfreq entementeusadosdoVBA: Range: refere-se a uma c lula particular do EXCEL . Exemplo:Range("a2") Value=3 Range( a2 ).Value=3 Cells: uma outra maneira de se referir a uma c lula particular do :Cells(2,2).Value=6 Cells(2,2).Value 6 Worksheets: refere-se a uma planilha particular do EXCEL .

3 Exemplo:Worksheets( Plan3").Select Worksheetfunction: chama as fun es dispon veis do EXCEL . pExemplo: (3) MsgBox: mostra uma mensagem no EXCEL . Exemplo:MsgBox di ltNJlIdit ?: mostra um resultado, vari vel, etc Na JanelaImediata. Exemplo:a= (3)?aTutoriais de VBA? a6 Vari veisVari veis Elas cont m dados tempor rios Podemospensarnasvari veiscomo c lulasdo EXCEL Podemospensarnasvari veiscomoc lulasdo EXCEL armazenaddas na mem ria RAM do PC Embora n o seja obrigat rio, uma BOA pr tica de programa odefiniro tipo de informa o que as vari veis armazenar o (emexecu es longas ela economiza UM POUCO de tempo). Isto chamado declararuma vari vel O tipo de informa o que podemos armazenar numa vari veldepende do tipode dados escolhido para aquela vari velTutoriais de VBAT iposde Dados doVBA (I)Tiposde Dados do VBA (I) Byte:armazena inteiros sem sinais entre 0 e 225 Boolean:armazena Verdadeiro ou Falso Integer:armazena inteiros entre e Long:armazena inteiros entre e 10 000t Currency:armazenainteiros na escalade entre ,5808 e ,5807 Single:armazena n meros de ponto flutuante entre -3,402823E38 e gp,-1,401298E-45 para valores negativos e entre 1,401298E-45 e 3,402823E38 para valores positivos Double:armazenan merosdepontosflutuantesentre Double.

4 Armazenan merosde pontosflutuantesentre 1,79769313486231E308 e -4,94065645841247E-324 para valoresnegativos e entre 4,94065645841247E-324 e 1 79769313486232E308litiTutoriais de VBA1,79769313486232E308 para valores positivosTiposde Dados do VBA(II)Tiposde 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: Strings de tamanhos vari veis: podem conterr at milh es(2^31) de caracteres Strings de tamanho fixo: podem conter entre 1 e 64 KB (2^16) caracteres Object:armazenaendere osquesereferemaoutrosobjetos Object:armazenaendere osquese referema outrosobjetos Variant (predeterminada):tipo de dado default para cada vari velque n o declarada como de qualquer outro tipoTutoriais de VBA User defined type:tipo de dado criado pelo usu rioDeclara odeVari velDeclara ode 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 maiscomuns Adicionando Option Explicit for aadeclara odavari vel AdicionandoOption Explicit for aa declara oda vari vel(recomendado)Exemplos.

5 Option ExplicitDim Result as LongDiTtlDblDim Totalsum as DoubleDim Description as StringDimStartdateas DateTutoriais de VBADim Startdateas DateVari veisEspeciaisVari veisEspeciaisCtdAldi iiiContadoreseAcumuladores:vari veisespeciaisquearmazenam certos valores quando se executa um LA O Contadores: armazena um, usado para contagemExemplo:Dim Iteration as = Iteration + Acumuladores: armazena qualquer valor, usado parasomat riosElExemplo:DimSomatotalas DoubleTutoriais de + esdePrograma oEstruturasPadr esde Programa oIf End IfBifurca oSelect Case End SelectBifurca oFor NextCircula oDo While - LoopCircula oExitDeclara es EspeciaisTutoriais de VBAWith End WithIfEnd If (I)If End If (I) Esta a maneira mais comum para manipular bifurca o l f () dEl an loga fun ose() do ExcelSintaxe:If <Condi o> then[Instru esse aCondi oif forVerdadeira][Instru esse a Condi oif for Verdadeira]Else[Instru es se a Condi o if for Falsa]End IfTutoriais de VBAIfEnd If (II)If End If (II)Exemplo:Sub Multiplica o1()Dim Mult as DoubleMult = Range( a1 ).

6 Value*Range( b1 ).ValueIf Mult > 20 ThenMsgBox Maiorque20"MsgBoxMaiorque20"ElseMsgBox Menor que ou igual a 20"End IfEnd SubTutoriais de VBAS elect CaseEnd Select (I)Select Case End Select (I) Esta estrutura an loga estrutura If End If Ela foi projetada para evitar os If End If aninhadosSintaxe:Select Case <Express o>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 SelectTutoriais de VBAS elect CaseEnd Select (II)Select Case End Select (II)ElExemploSub Multiplicacao2()Dim Mult as DoubleMult = Range( a1 ).Value*Range( b1 ).ValueSelect Case MultCase Is < 10 MsgBox Menor que 10"Case Is < 15 Case s5 MsgBox Maior que ou igual a 10 e menor que 15"Case Is < 20 MsgBox Maiorqueouiguala15emenorque20"MsgBoxMaiorqueouiguala 15 e menorque20 Case ElseMsgBox Maior que ou igual a 20"End SelectTutoriais de VBAEnd SelectEnd SubForNext (I)For Next (I) Este o la o mais simples e mais amplamente usado Especificamos quantas vezes o la o ser repetidoSintaxe:For <Contador=In cio> To <Fim>[Instru es][Instru es]NextTutoriais de VBAForNext (II)For Next (II)Exemplo:Sub CalcularTotal1()Dim Contador As IntegerDim Total As DoubleDim Total As DoubleTotal=0 For Contador = 2 To 15If Range( a"&Contador)Value ="Centro"ThenIf Range( a & Contador).

7 Value = Centro ThenTotal = Total + Range( b" & Contador).ValueEnd IfNextNextRange( d2").Value = TotalEnd SubTutoriais de VBADo WhileLoop (I)Do While Loop (I) Este outro la o comumente usado Especificamos que o la o ser repetido enquanto uma certa condi ofddifor verdadeiraSintaxe:Do While <Condi o>[Instru esEnquantoaCondi oforVerdadeira][Instru esEnquantoa Condi ofor Verdadeira]LoopTutoriais de VBADo WhileLoop (II)Do While Loop (II)Exemplo:Sub Calcularotal2()Dim Contador As IntegerDim Total As DoubleContador = 2 Total=0 Total 0Do While Range( a" & Contador).Value <> Sul"Total = Total + Range( b" & Contador).ValueCtdCtd1 Contador= Contador+ 1 LoopRange( d2").Value = Total Tutoriais de VBAEnd SubExit (I)Exit (I) Esta declara o usada para encerrar o bloco:For NextExit ForDo While LoopExit DoFunction End FunctionExit FunctionSub End SubExit SubSub End SubExit SubSintaxe: (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 IfTutoriais de VBAEnd IfNextExit (II)Exit (II)ElExemplo:Sub CalcularTotal3()DimContadorAs IntegerDim ContadorAs IntegerDim Total As DoubleTotal=0 ForContador=2To15 For Contador= 2 To 15If Range( b" & Contador).

8 Value < 0 ThenMsgbox H um erro no n mero registrado & Contador - 1 Total=0 Total 0 Exit ForEnd IfIf Range( a" & Contador).Value = "Centro" Theng()Total = Total + Range( b" & Contador).ValueEnd IfNextTutoriais de VBAR ange( d2").Value = TotalEnd SubWithEnd With (I)With End With (I) Esta estrutura usada para encurtar as declara es e acelerar a execu o do c digoEbjiil N O ttdl Embora sejasimilar, N O uma estruturade la oSintaxe:With <Objeto>[Instru es][Instru es]End WithTutoriais de VBAWithEnd With (II)With End With (II)Exemplo: SEM usar a estrutura With End WithSub CalcularTotal()Dim Contador As IntegerDim Total As DoubleContador = 2 Total=0 Total 0Do While Worksheets( Plan1").Range( a" & Contador).Value <> Sul"Total = Total + Worksheets( Plan1").Range( b" & Contador).ValueCtdCtd1 Contador= Contador+ 1 LoopWorksheets( Plan1").Range( d2").Value = Total Tutoriais de VBAEnd SubWithEnd With (III)With End With (III)Exemplo: usando a estrutura With End WithSub CalcularTotal()Dim Contador As IntegerDim Total As DoubleDim Total As DoubleContador = 2 Total = 0 WithWorksheets( Plan1")With Worksheets( Plan1)Do While.

9 Range( a" & Contador).Value <> Sul"Total = Total + .Range( b" & Contador).ValueContador=Contador+1 Contador= Contador+ ( d2").Value = TotalEdWithTutoriais de VBAEnd WithEnd SubRodandoumProgramaRodandoum Programa Um programa um conjunto organizado de instru es para realizarcertastarefascertastarefas Nos programas VBA s o chamados de procedimentos Existem somente dois tipos de procedimentos VBA: Function procedures Sub proceduresCttf li difi i ttFti Certastarefas s orealizadas maiseficientementecom Function procedures e algumas outras tarefas podem ser feitas maiseficientemente com Sub procedures Para rodar um programa ou procedure, devemos ent o rodar umaFunction or Sub procedureTutoriais de VBAF unction Procedures (I)Function Procedures (I)Function Procedures: conjuntos de instru es que realizam certastarefas e retornam um valor (podemospensarnas Function (ppProcedures como fun es do EXCEL ) Elas N O podem modificar os objetos (p.))

10 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]Tutoriais de VBAEnd FunctionFunction Procedures (II)Function Procedures (II)Exemplo:Function Mult(Var1 As Double, Var2 As Integer) As DoubleMult = Var1 * Var2 End FunctionEnd FunctionTutoriais de VBAL ocalizando as Fun es do ExcelTodas as fun es que criamos podem ser encontradas e executadasem: Inserir Fun Definida pelo usu rioTutoriais de VBASub Procedures (I)Sub Procedures (I)Sub Procedures: conjuntos de instru es que realizam certastarefasElPODEM difibj t(difild ElasPODEM modificaros objetos(pex.: modificarum valor de c lula) Elas N O podem ser executadas de uma c lula(como umap(fun o EXCEL ou uma Function Procedure) Elas podem ser executadas manualmente do VBA Editor, da JanelaMacrousandoFormul riosnumaplanilhaetcJanelaMacro, usandoFormul riosnumaplanilha, etcSintaxe:Sub Procedure_Nome([Lista de Argumentos])Tutoriais de VBA[Instru es]End SubSub Procedures (II)Sub Procedures (II)Exemplo:SubCalcularTotal2()Sub CalcularTotal2()Dim Contador As IntegerDim Total As DoubleContador= 2 Total = 0Do While Range( a"&Contador).)


Related search queries