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