Vous êtes sur la page 1sur 11

07/01/2015

Primeirapgina

VBAfundamentos

VisualBasicforApplicationsVBA

ParteIFundamentos
Sumrio:
Operadoresrelacionais

Introduo

Operadoreslgicos

Declaraodevariveis

Precednciadosoperadores

Tiposdedados

Exerccios

Constantes

Funesdeentradaesada

Denominaodevariveiseconstantes

Comentrios

Operadordeatribuio

Codificaodeprocedimentos

Operadoresaritmticos

Exerccios
Pontodeacesso

Introduo
AversoVisualBasicparaAplicativosumambientecompletodedesenvolvimento,consistentecoma
versodeplataformanicadoVisualBasicecompartilhadaportodososaplicativosdoMicrosoftOffice.O
VisualBasicinterpretaumconjuntoespecialdecomandosdenominadobibliotecadeobjetosdoExcel.O
VisualBasicquevemcomoExcelnoanicalinguagemquepodercomunicarsecomabibliotecade
objetos.QualquerlinguagemqueofereasuporteautomaopodercontrolaroExcel.
AlgunscomponentesessenciaisdalinguagemVBAparaExcelso,aseguir,destacadoseconceituados:
Objetos
Umobjetoumtipoespecialdevarivelquecontmdadosecdigoserepresentaumelementoespecfico
noExcel.OVisualBasicsuportaumconjuntodeobjetosquecorrespondemdiretamenteaoselementos
doMicrosoftExcel.
Porexemplo,oobjetoWorkbookrepresentaumapastadetrabalho,oobjetoWorksheetrepresenta
umaplanilhaeoobjetoRangerepresentaumintervalodeclulas.
Umapastadetrabalho,noMicrosoftExcel,correspondeaumarquivoquepodeconterdiversas
planilhasefolhasdegrficosouplanilhasdegrficos.
Propriedadesemtodos
PararealizarumatarefaoVisualBasicretornaumobjetoquerepresentaoelementoapropriadodoExcele
depoisomanipulausandoaspropriedadesemtodosdaqueleobjeto.
Aspropriedadessocaractersticasouatributosdeumobjetoeosmtodossoaesqueosobjetos
podemexecutar.
Mdulos
Ocdigodentrodeummduloorganizadoemprocedimentos.Ummduloumconjuntode
procedimentosquerealizatarefasespecficas.
Porexemplo,procedimentosqueexecutamvriastarefascontbeispodemseragrupadosemummdulo.
EditordoVisualBasic(VBE)
OVBEainterfacededesenvolvimentodoVBAepodeseracessadoapartirdaplanilhaExcel,
pressionandoasteclasAlt+F11.OVBEabreajanelaCdigoparaescrevereeditarcdigosdoVisualBasic
e,porpadro,abre,tambm,ajaneladoProjeto(VBAProject),encaixadajanelaCdigo,quecontmos
elementosdoprojetocomomdulos,formulrioseclasses.
Procedimentos
http://bianchi.pro.br/vba/vba_p1.php

1/11

07/01/2015

VBAfundamentos

UmprocedimentoumaunidadedecdigolocalizadaentreinstruesSubeEndSubouentre
instruesFunctioneEndFunctionquerealizaumatarefa.
Umprocedimentodesempenhaumatarefaespecfica.UmprocedimentoFunctionpoderetornarvalor,ao
passoqueumprocedimentoSubnoretornavalor.
ParaumavisogeraldaestruturadeumprocedimentoSub,segueumexemplocombrevescomentrios
queexplicamcadalinha:

Declaraodevariveis
Umavarivelumareanamemria,referenciadaporumidentificador,ondepodeserarmazenadoum
valorealteradoaqualquermomento.
Umnomedeidentificadordevecomearporumaletra,sernicodentrodomesmonveldeescopo,no
podeconterumespaoentrecaracteresdonomeenempodeserigualaumapalavrareservadada
linguagemouquepertenceasintaxedalinguagem.Nopermitidoousodecaracteresespeciais,exceto
dealgunssmbolos(_,$,%,#,@,&,!)quandoutilizadoscomoltimocaracteredonome.Osmbolo
sublinhado(_)tambmpodeserusadoentrepalavrasdonomedavarivel.
Umavarivelpodeserdeclarada,usandoasseguintespalavraschaveparadefinirseuescopooulocal
(procedimentooumdulo)ondeelapoderseracessadaoumanipulada:
DimouStatic

(noprocedimento)

DimouPrivate (nomdulo)
Public
(nomdulo)
DimOvalordavarivelretidoapenasenquantooprocedimentonoqualelafoideclaradaestiverem

execuo.
Staticavarivelpreservaovalorentreaschamadasaoprocedimento.
Privateovalorficadisponvelatodososprocedimentosdentrodomduloondeavarivelfoideclarada.
Publicavarivelpodeseracessadapelosprocedimentosdevriosmdulosdeumapastadetrabalho.
AvarivelpodeserdeclaradademodoimplcitopeloVBAnomomentoemqueelaforreferenciadanuma
instruo.Noentanto,oprogramapodertornarsemaiseficienteseasvariveisforemdeclaradasde
modoexplcitopelousurio.Adeclaraoexplcitadetodasasvariveisreduzaincidnciadeerrosde
conflitosdenomenclaturaededigitao.
ParaimpedirqueoVBAfaadeclaraesimplcitas,deveseinserirainstruoOptionexplicitemum
mduloantesdetodososprocedimentos.
Palavrasreservadas(TermosquesodeusodalinguagemVBA)
as,byref,byval,case,close,const,date,declare,dim,each,else,empty,false,for,friend,function,get,
input,if,is,len,let,lock,next,new,nothing,on,open,option,print,public,private,resume,seek,select,
http://bianchi.pro.br/vba/vba_p1.php

2/11

07/01/2015

VBAfundamentos

set,static,string,sub,then,to,true,type,variant,with,while,write.

Tiposdedados
Otipodeumavariveldeterminaaquantidadedememriaqueelaocupar,embytes,eomodode
armazenamento.OVBAoperacomosseguintestiposbsicos:
Nome

Tamanho

Intervalo

Integer

2bytes

32768a32767

Long

4bytes

2.147.483.648a2.147.483.467

Single

4bytes

3,4x1038a3,4x1038

Double

8bytes

1,7x10308a1,7x10308

Currency

8bytes

9223372036854,5808a9223372036854,5807

String

1byteporcaractere

0aaproximadamente65.500

Boolean

2bytes

VerdadeiroouFalso

Date

8bytes

01/01/100a31/12/9999

Object

4bytes

Qualquerrefernciaaobjeto

Variant

16bytes+1bytepara
cadacaractere

Vlidoparaqualquertipodedados.

UmavarivelqueconternmerointeiropodeserdeclaradacomoIntegerouLong.Exemplos:

DimcontadorAsInteger

PrivatetamMemoriaAsLong

Umavarivelqueconternmerosfracionrios,podeserdeclaradacomotipodedadoSingle,Doubleou
Currency.Exemplos:

Publiclado1AsSingle

PrivatereaAsDouble

DimcustoProdAsCurrency

Umavarivelqueconterumconjuntodecaracteresalfanumricospodeserdeclaradacomotipode
dadosString.Exemplos:

DimdescrProdAsString

DimnomeFuncAsString

Umavarivelquecontmvalorlgico(verdadeirooufalso)podeserdeclaradacomotipodedados
Boolean.OvalorpadroFalse.Exemplo:

DimlimExcedidoAsBoolean

UmavarivelquecontmvaloresdedataehoradeveserdeclaradacomotipodedadosDate.Exemplo:

DimdataAsDate

UmavarivelquecontmumarefernciaaumobjetodoMSExcelpodeserdeclaradacomtipodedados
Object.Paraatribuirumobjetoaumavarivelobjeto,deveseusarainstruoSet.Exemplos:

Dimplan1Asobject

Setplan1=Worksheets(1)

UmavarivelVariantpermiteoarmazenamentodequalquertipodedado.Exemplo:

DimcodMarca'Variantporpadro

Constantes
Umavariveldeclaradapormeiodoqualificadorconstsignificaqueseucontedonopoderseralterado
emtodoprograma.Aconstantedeveserinicializada,isto,nomomentodesuadeclaraodeverser
atribudoumvaloraela.Exemplos:
Constpi=3.1416

Constpi2=pi*2
Podeserespecificadooescopodeumaconstante,comosegue:

PrivateConstPi=3.14159
Ficadisponvelatodososprocedimentosdentrodeumdadomdulo.Deveserdeclaradaanvelde
mdulo.
PublicConstmax=1024
http://bianchi.pro.br/vba/vba_p1.php

3/11

07/01/2015

VBAfundamentos

Permanecedisponvelatodososmdulos.Deveserdeclaradaanveldemdulo.
Constidade=29
Disponvelapenasdentrodoprocedimentoondefoideclarada.

Denominaodevariveiseconstantes
Recomendaseparaadeclaraodevariveisautilizaodeletrasminsculas.Casoonomeseja
compostodemaisdeumapalavra,asdemaisdevemseriniciadascomletrasmaisculasoucolocaro
smbolosublinhadoentreelas.Exemplos:
total

contador

ValorMedio

segunda_fase

soma_valor_real

contaLinhaRel2

Dica:Utilizenomessignificativosnadenominaodevariveis.Dumnomequerepresenteomais

precisamentepossvelopropsitodestavarivel.Evitenomessemsignificadoouabreviaturasnousuais.
Exerccios
QuaisdosseguintesnomessovlidosparaadeclaraodevariveiseconstantesemVBA?
a)a123

b)31dezembro c)nome_aluno

d)valor+1

e)2aFase

f)valorbruto

g)FINAL

h)j

i)juros_de_5%

j)const

k)melhorPreco l)funcionario_novo

m)#9A

n)preo

o)current

p)nomedoaluno q)_linha1

r)maiorNro.

Mostreme ositensdenomesconsideradosvlidos.

Operadordeatribuio
Ooperadordeatribuiorepresentadopor=(sinaldeigualdade).Atribuivarivelaexpressodireita
dosinaldeigualdade.
Declarao

Atribuio

dimrestoasinteger

resto=12049

dimsalarioasdouble salario=510.00
dimcidadeasstring

cidade='Blumenau'

Apsaexecuodoscomandosdeatribuio,olocaldammriaRAMdeendereodenominadoresto
passaaarmazenarovalor71,olocaldeendereodenomesalario,510.00eodenomecidade,
Blumenau.

Operadoresaritmticos
Asvariveiseconstantesnumricaspodemserutilizadasemclculosmatemticos,utilizandofunes
matemticasouaplicandoosoperadores.Atabela,aseguir,apresentaasoperaes,ossmbolos
respectivoseassintaxesdosoperadoresaritmticos:
Operao

Operador

Multiplicao

Sintaxe

r=n1*n2

Diviso

r=n1/n2

Adio

r=n1+n2

Subtrao

r=n1n2

Potenciao

r=b^e

Diviso(retornaoresto)

Mod

Diviso(retornaoquoc.inteiro)

r=n1Modn2

r=n1\n2

Funesmatemticasintrnsecasmaisutilizadas:

http://bianchi.pro.br/vba/vba_p1.php

Operao

Exemplo

Resultado

Raizquadrada

sqr(9.0)

Parteinteira

int(7.8)

Valorabsoluto

abs(5)

5
4/11

07/01/2015

VBAfundamentos

Nmeroaleatrio

rnd(12)

Seno

sin(3.7)

0,53

Coseno

cos(4.1)

0,57

Tangente

tan(6.8)

0,56

Operadoresrelacionais
Operadoresrelacionaisfazemcomparaes,ouseja,verificamarelaodemagnitudeeigualdadeentre
doisvalores.
Indicamacomparaoaserrealizadaporumaexpressolgica.
Soseisosoperadoresrelacionais:
Operao

Operador

Iguala

Maiorque

>

Menorque

<

Diferentede

<>

Maiorouiguala

>=

Menorouiguala

<=

Operadoreslgicos
Utilizadosemexpresseslgicascompostasouparainverteroestadolgicodeumacondio.Retornamo
valorverdadeirooufalso.

Expressousual

Operao

Operador

Conjuno

and

ou

Disjuno

or

no

Negao

not

Osoperadoresandeorsobinrioseooperadornotunrio.
Estesoperadoresavaliamosoperandoscomolgicos(0ou1),sendoovalorlgico0consideradofalso

(false)eovalorlgico1,verdadeiro(true).OVBAcontaaindacomosoperadoreslgicoseqv
(equivalncia),imp(implicao)exor(exclusolgica)queaquinoseroestudadosporseremdepouco
uso.
Astabelasverdade,aseguir,expressamoperaeslgicas:
conjuno(and)

disjuno(or)

negao(not)

VeV=V

VouV=V

noV=F

VeF=F

VouF=V

noF=V

FeV=F

FouV=V

FeF=F

FouF=F

V=verdadeiroF=falso.

Precednciadosoperadores
Aprecednciaocritrioqueespecificaaordemdeavaliaodosoperadoresdeumaexpressoqualquer.
OVBApriorizaasoperaesdeacordocomaordemdascategoriaslistadasabaixo.
Osoperadoresentre
parntesespossuemamesmaprioridadeesoexecutadosnaordememquesoescritosnainstruoda

esquerdaparadireita:

Categoriaseoperadores:

1.Aritmticos:^,(*,/),(+,)

2.Relacionais(avaliadosdaesquerdaparaadireitanaordememqueaparecem)

3.Lgicos:not,andeor

(Parntesespodemserutilizadosparadeterminarumaformaespecficadeavaliaodeumaexpresso.)

Exerccios(Paraobterasrespostasposicioneocursorsobrealetradaexpresso)
x=0:y=1:z=2
http://bianchi.pro.br/vba/vba_p1.php

5/11

07/01/2015

VBAfundamentos

a=(2+1)*6

f=5<8and2>4

b=20/(2)/5

g=6>2or10=12
c=(5+1)/2*3
h=not12>30

k=x>yandy<x
l=x>zorz>=y
m=x<yandnoty=y

d=2+6/4*8

i=5<8and2>4

n=falseandz>y

e=1811mod3

j=8<>18or12>4*5

o=y=x+1ory+3>4

dimanoasinteger:ano=2012(Verificaseoano2012bissexto)
u=(anoMod4)=0And(anoMod100)>0Or(anoMod400)=0

Funesdeentradaesada
Permitemobterdadosdoambienteexteriorparaamemriadocomputadorefornecerdadosdo
computadoraomundoexterior.
FunoInputBox(caixadeentrada)
Apresentaumacaixadedilogoparaqueousuriopossaintroduzirodadodeentrada.Elaexibeumaviso
emumacaixadedilogo,aguardaatqueousurioinsiraumtextooucliqueemumbotopararetornar
ocontedodacaixadedilogo.
Sintaxe:
InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
onde,
prompt

argumentoobrigatrioerepresentaamensagemqueserexibidana
caixadedilogo

title

opcionaltextoaserexibidonabarradettulodacaixadedilogo

default

opcionaldadopadrodeentradaaserexibidonacaixadetexto

xposeypos
helpfileecontext

opcionaisespecificamascoordenadasparaposicionamentodacaixade
dilogonatela
opcionaisidentificaoarquivodeajudadousurioeonmerode
contextoatribudoaotpicodaajuda.

FunoMsgBox(caixadesada)
MostraumacaixadedilogocontendoobotoOKeovalordodadodesada.
Sintaxe:
MsgBox(prompt[,buttons][,title][,helpfile,context])
onde,
prompt

argumentoobrigatriomensagemqueserexibidanacaixadedilogo

buttons

opcionalespecificaotipodebotoaserexibidonacaixadedilogo

title

opcionaltextoaserexibidonabarradettulodacaixadedilogo

helpfileecontext

opcionaisidentificaoarquivodeajudadousurioeonmerode
contextoatribudoaotpicodaajuda.

Aspalavrasdestacadasemitlicosoosargumentosnomeadosdafuno.Osargumentoscolocadosentre
colchetessoopcionais.Osargumentosdasfunespodemserespecificadospelaposioeseguema
ordemapresentadanasintaxeseparadosporumavrgula.Paraomitiralgunsargumentosposicionais,
deveseincluirodelimitadordevrgulacorrespondente.Paraespecificarumargumentopelonome,utilizar
onomedoargumentoseguidopordoispontoseumsinaldeigualdade(:=)eovalordoargumento.Pode
seespecificarosargumentosnomeadosemqualquerordem.Exemplo:Title:="caixadenomes",
Prompt:="Seunome"&nome

ExemplodasfunesInputBoxeMsgBoxcomargumentosposicionais:

AinstruoOptionExplicitforaadeclaraoexplcitadetodasasvariveisdomduloedeveaparecer
http://bianchi.pro.br/vba/vba_p1.php

6/11

07/01/2015

VBAfundamentos

antesdequalquerprocedimento.OnomedocomandoSubdadopeloprogramadoresegueas
convenesdenomenclaturadevariveis.Aprimeirainstruodoprocedimento,denominadoexemplo01,
declaraavarivelnomedetipostringatravsdainstruoDim.Aestavarivelatribudoonomeque
serdigitadopelousurionacaixadedilogoqueabertapelafunoInputBox.Aseguir,afuno
MsgBoxmostrarocontedodavarivelnomenacaixademensagem.
NafunoInputBox,foramcodificadosoprompt"Qualoseunome"eotitle,opcional,"Entradade
nomes".AfunoMsgBoxexibeoargumentoprompt"Seunome"eotitle"Caixadenomes",
antecedidoporumavrgula,indicandoaausnciadoargumentobuttonseavarivelnome,escritaapso
prompt,concatenadapelosmboloampersandouecomercial(&).
Resultadodaexecuodocdigoacima:

Parasepararemlinhasotextoinseridonopromptpodesefazloatravsdoscaracteres:
Chr(13)deretornodecarroou
Chr(10)dealimentaodelinhaou,ainda,combinados
Chr(13)&Chr(10).
ExemplodecomoafunoMsgboxdoprocedimentoacimapoderiasercodificadaparaexibiroresultado
emduaslinhas:
MsgBox"Seunome"&chr(13)&nome,,"Caixadenomes"

Resultado:

Comentrios
Soutilizadoscomafinalidadededocumentaroprogramafonte.Elesnosotratadospelocompilador.
Umapstrofo(')introduzcomentriosnocdigo.

Exemplo:'Istoumcomentrio.

Codificaodeprocedimentos
AmbientedeprogramaoVBA
OEditordoVisualBasicApplicationsintegradoaoExcele,assim,aoadquiriroMicrosoftExcelestse
adquirindotambmoVBA.
Paraabriroeditor,apartirdoMicrosoftExcelcliqueemExibirMacrosenacaixadedilogoMacrosdum
nomeparaaMacroouProcedimentoe,emseguida,cliquenobotoCriarparaabriroeditorjcomum
mdulonajanelaCdigoecomasinstruesSubeEndSub.OeditorVBAtambmpodeserativadoa
partirdoMicrosoftExcelpressionadoseasteclasAlt+F11.
Considerarqueparaexecutarumamacroouprocedimentonecessrioqueocursodeexecuode
macrosnoExcelestejahabilitado.
Digiteacodificaomostradaabaixo,compileeexecuteoprogramae,emseguida,examineatentamente
seucontedoeresultado.
http://bianchi.pro.br/vba/vba_p1.php

7/11

07/01/2015

VBAfundamentos

Enunciadodoproblemaacodificar
Calculareimprimiramdiaaritmticadetrsnotasdeprovasdeumalunoaseremfornecidaspelo
usurioatravsdoteclado.
ImplementaoemVBA

Paracompilareexecutaroprograma,bastapressionarateclaF5ouclicarnobotoverdecomformatode
cabeadesetadireita(ExecutarSub/UserForm)naBarradeferramentasouapartirdomenuExecutar.
ParaocorrerumaexecuodiretadeumprocedimentoaopressionarF5ouobotodaBarrade
ferramentas,ocursordomousedeveestarposicionadoemqualquerlugarentreasinstruesSubeEnd
Subdoprocedimentoaserexecutado.
SegueseumexemplodecodificaodomesmoproblemanomesmoMdulo1doprojetoPasta1,
considerandocomoentradadasnotasasclulasC1,C2eC3daplanilhaExcelPlan1ecomosadasas
clulasA4eC4dessamesmaplanilha.(AclulaA4conteraexpresso:MdiaaritmticaeaC4,ovalor
damdia).
Paracodificarnovoprocedimentonomesmomdulo,cliquenomenuInserirdajaneladecdigoeem
Procedimento.Nacaixadedilogo"Adicionarprocedimento",digiteonomedoprocedimentocalcMedia2,
selecioneotipoSubeoescopoPblico.(ProcedimentoSubsemespecificaodeescopoexplcito
consideradoPblicoporpadro).

http://bianchi.pro.br/vba/vba_p1.php

8/11

07/01/2015

VBAfundamentos

AproriedadeRangepodesersubstitudapelapropriedadeCellsapresentadanoprocedimentoCalcMedia2
comocomentrio.Ousodestaspropriedadessemumqualificadordeobjetorepresentaasclulasda
planilhaativa,ouseja,aplanilhaqueseencontraabertanoExcel.Considerandocomoexemploapenasa
linhadavarivelnt1,equivaleescrever:nt1=ActiveSheet.Range("C1").Valueount1=
ActiveSheet.Cells(1,3).Value.Parasereferiraumaoutraplanilhaquenoaativadeveserusadoo
objetoWorksheetseentreparntesesonomeouondicedaplanilharequisitada.Exemplo:
Worksheets("Plan3").Range("A1").Value=3.14159.
ApropriedadeCellsespecificaacluladaplanilhautilizandoindicesdelinhaecolunaouestilode
refernciaL1C1,aopassoqueapropriedadeRangeusaletrasparaidentificarascolunasenmerospara
aslinhas.
AntesdeexecutaroprocedimentoCalcMedia2,certifiquesedeterpreenchidoasclulasC1,C2eC3da
planilhacomvaloresdenotasequeessaplanilhadoExcelpermaneaativa.Seguemrecortesdeexemplos
daplanilhadedadosmostrandoasposiesantesedepoisdaexecuodoprocedimentoCalcMedia2:
Antes

Depois

Aseguirapresentadooutromododeobteromesmoresultadoapartirdamesmafontededados,
mostradaacima,esemutilizarvariveisparaauxiliarnoprocessamento:
http://bianchi.pro.br/vba/vba_p1.php

9/11

07/01/2015

VBAfundamentos

Amdiaapuradaapartirdasclulasdaplanilha,semtransferirseusvaloresparavariveiseoresultado
damdiaatribudodiretamentenacluladalinha4coluna3.
OsprocedimentospodemsersalvosapartirdaplanilhadoExcelcomoseprocedeparaosalvamentode
qualquerplanilhadeusohabitual,podendofecharajaneladoeditorVBEaqualquermomentoquenada
perdidoenquantoaplanilhacorrespondenteestiveraberta.Seajaneladoeditorforfechada,paraabrila
novamentebastateclarAlt+F11.Casoacodificaodosprocedimentosnosejamexibidos,cliqueem
Mdulo1,nopainelProjetoesquerda,comobotodireitodomousee,nomenudecontexto,emExibir
cdigo.

Exerccios
Osexerccios,aseguir,podemsertodosdesenvolvidosnomesmomduloenamesmapginadecdigodo
MicrosoftVisualBasicereferiremsequandonecessriomesmaplanilhadoExcel:
1. Dadososcomprimentosdoscatetosdeumtringuloretngulo,fazerumprocedimentopara
determinareimprimirocomprimentodahipotenusa.UtilizarafunoInputBoxeaMsgBoxpara
entradaesadadedados.
(Frmuladotringuloretngulo:a2=b2+c2.Paraextrairaraizquadradadeumnmeroou
expressonumricapodeserutilizadaafunoSqr).
2. Emcertadisciplinaanotasemestraldoalunocalculadacombaseemseudesempenhoverificado
atravsdetrsprovas.Aprimeiraprovatempeso3,asegunda,peso4eaterceira,peso5.
Elaborarumprocedimentoparacalculareapresentaramdiadosemestre,tendocomoentradaas
notasreferentesastrsprovasnasclulasA3,A4eA5dePlan1ecomosadaamdiadosemestre
exibidanasclulasA6eB6damesmaplanilha.Apresentarosdadosdesadaemnegritoenacor
vermelha.
3. Escreverumprocedimentoparaefetuaroclculodaquantidadedelitrosdecombustvelgastosem
umaviagemedadistnciapercorrida,sabendosequeoveculofaz10km/litro.Ousurio
informaravelocidademdianaclulaC3eotempodespendidonaviagemnasclulasC4(horas
cheias)eC5(minutos).Mostraraquantidadedelitrosgastoseadistnciapercorridanacaixade
mensagemdoVisualBasic(MsgBox).
4. SabendosequeoKWhcustaR$0,40,elaborarumprocedimentoparaobterapartirdeumacaixa
deentradaaquantidadedequilowattsconsumidaporumaresidnciaecalculareescreverna
planilha,naclulaG4,ovalorbrutoaserpagoe,emG5,ovalorlquidocasosejaaproveitadoum
descontode15%.NaclulaF4,escreveraexpresso"Valorbruto"enaclulaF5,"Valorlquido".
5. Elaborarumprogramaparacalcularadiferenadepreosdeumdeterminadoproduto,comparando
ospreosdecompraanterioreatual.ObterospreosanterioreatualdasclulasB11eB12e
imprimiradiferenaalgbricaepercentualdospreosnasclulasB13eB14,respectivamente.
6. Elaborarumprogramaparaleraidadedeumapessoaemnumerodeanos,mesesediasapartirda
clulasB11,B12eB13,respectivamente,calculareimprimiressaidadeemMeses,Dias,Horase
MinutoseapresentaroresultadoatravsdafunoMsgBox.

ParaapresentaracodificaodosexercciosacimaconsiderouseumamesmaplanilhadoExcelcomobase
dedados.Elacontmexemplosdedadosdeentradaeresultadosdosprocessos,quandoforocaso,epode

servistaaosesobreporoponteirodomousenapalavraPlanilhaqueaparecenalinhaabaixojuntoaos
exercciosresolvidos,aqual,alis,amesmaapresentadanaseoseguintesemoobjetogrficoou
botodeacessodesignadoIdade.
http://bianchi.pro.br/vba/vba_p1.php

10/11

07/01/2015

VBAfundamentos

(Fecha)Exerc.1Exerc.2Exerc.3Exerc.4Exerc.5Exerc.6Planilha

Pontodeacesso
Umprocedimentoouumamacropodeserexecutadaapartirdevriosmeioscomoatravsdeumatecla
deatalho,deumbotonabarradeferramentasoudeumobjetogrfico,entreoutros.
PodeseexecutarumprocedimentoapartirdocorpodaplanilhaExcelondeseencontramosdadosde
entradaouondeserexibidooresultado.
Paracriarumbotooupontodeacesso,cliqueeminseriredepoisemFormas,selecioneumaFormae
desenheaarrastandooponteirodomousenocorpodaplanilha.Emseguida,cliquecomobotodireitodo
mousenaFormaoupontodeacessocriadoe,nomenudecontexto,emAtribuirMacro.Nacaixade
dilogo"Atribuirmacro",selecioneonomedamacroouprocedimentoecliqueemOK.
Aseguir,apresentadaaplanilhadosexerccioscomumexemplodebotooupontodeacessoreferente
aoprocedimentoexerc6_idade:

Topo Segue

http://bianchi.pro.br/vba/vba_p1.php

11/11