Você está na página 1de 20

28/01/13 Criando Macros VBA no Excel

Materi
alde Comunidade Per
guntase Logi
n Cadastro
Buscarar
qui
vos,pessoas,
cur
sos…
Estudo Acadêmica Respostas

Criando Macros VBA no Excel


Env
iadopor
:Ri
car
doI
arochi
nski|coment
ári
os
Ar
qui
vadonocur
sodeI
nf
ormát
icaeComput
açãonaI
NEC

Dow nload
Tweet

MACROS 5
O QUEÉUMAMACRO? 6
CRI
ARMACROS 6
Gr
avarumaMacr
o 6
Exer
cíci
o 8
Pr
ocedi
ment
oBackGr
ounddoExcel 9
Pr
ogr
amaçãoem Vi
sualBasi
cforAppl
i
cat
ions 10
EXECUTARUMAMACRO 1
Tecl
adeAt
alho–Shor
tcutKey 12
Bot
ãonaTool
bar 12
Associ
arumaMacr
oaum Bot
ão 12
Di
ssoci
arumaMacr
odeum Bot
ão 14
Run 14 ESTATÍ
STI
CAS
ComandonoMenu 15
Associ
açãodeumaMacr
oaum ComandodoMenu15 9138 v
isi
tas
Di
ssoci
ação 16 966 downl
oads
Edi
tordeVi
sualBasi
cforAppl
i
cat
ions 17 coment
ári
os
REMOVERMACROS 17
RemoçãodeMacr
osem Ambi
ent
eExcel 17
TAGS
RemoçãodeMacr
osnoEdi
tordeVBA 18
EDI
TORDEVI
SUALBASI
CFORAPPLI
CATI
ONS 19
Excel
PROJ
ECTEXPLORER 21
PROPERTI
ESWI
NDOW 2
J
ANELADEEDI
ÇÃO 23
DESCRI
ÇÃO
OBJ
ECTBROWSER 23
HELPON-
LINE 24 Todosospassospar
acr
iaçãodemacr
osnoExcel
ASCORESDO VBA 24
FUNÇÕESESUBROTI
NAS 26
ARQUI
VOSSEMELHANTES
SUBROTI
NAS 28
Def
i
niçãodeSubRot
inas 28 Apostila de Excel voltada a
Tr
abal
harnoEdi
tordeVBA–Cr
iarumaSubRot
ina 28 administração
ExecuçãodeumaSubRot
ina 29 Umaapost
i
ladef
áci
lcompr
eensão
FUNÇÕES 30
Def
i
niçãodeFunções 30
Def
i
niçãodot
ipodepar
âmet
rosedot
ipodaf
unção30 Apostila de vba
Tr
abal
harnoEdi
tordeVBA–Cr
iarumaFunção 31 Apost
i
lapar
aini
ci
ant
esemVBA

ExecuçãodeumaFunção 32
Execuçãodent
rodeumaCél
ula 32
Execuçãodent
rodeumaRot
ina 38
Apostila Macro Excel
DI
FERENÇASENTREFUNÇÕESEROTI
NAS 39
Apost
i
ladeMacr
opar
aExcel
empdf
REGRASPARAAPASSAGEM DEPARÂMETROS39
VARI
ÁVEI
S 41
MANUSEAMENTO COM VARI
ÁVEI
S 42
O quesãov
ari
ávei
s? 42 Lições de VBA do Excel
Assi
gnaçãodev
alor
esav
ari
ávei
s: 43 Macr
oExcel
Ut
il
izaçãodev
ari
ávei
scomosef
ossem v
alor
es: 43
Í
ndi
ceTI
POSDEVARI
ÁVEI
S..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.43

Office VBA Macro


VARI
ÁVEI
S–VANTAGENSDAUTI
LIZAÇÃO 45
Apost
i
ladeExel
-Macr
opassoàpasso.
VARI
ÁVEI
SDO TI
PO OBJ
ECTO 45
Decl
araçãodaVar
iáv
elObj
ect
o 45
At
ri
bui
çãodeumav
ari
ávelObj
ect
o 45
Ut
il
izaçãoGenér
icadaVar
iáv
elObj
ect
o 46 Apostila de excel vba
Ut
il
izaçãoEspeci
f
icadaVar
iáv
elObj
ect
o 46 EXCELVBA,MACROS
VARI
ÁVEI
S–DECLARAÇÃO OPCI
ONALEO TI
PO VARI
ANT 47

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 1/20
28/01/13 Criando Macros VBA no Excel
OsPr
óseCont
rasdaUt
il
i
zaçãodot
ipoVar
iant
s 47
Pr
ós 47
Cont
ras 47
Var
iáv
eis–Decl
araçãoFor
çada 48
VARI
ÁVEI
S–TI
POSDEFI
NIDOSPELO UTI
LIZADOR-ESTRUTURAS48
Curso rsview 32
Def
i
niçãodoTi
po 48
PROGRAMAÇÃOSUPERVI
SORI
OPLC
Ut
il
izaçãodasEst
rut
urasdeDados 49 ROCKWELL
VARI
ÁVEI
S–ARRAYS 50
O queéum Ar
ray? 50
Ar
rayUni
-Di
mensi
onal 50 Curso Excel Avançado
Ar
rayBi
-Di
mensi
onal 50 Cur
soExcel
Avançado
Decl
araçãodeum ar
ray 51
Ar
raysUni
-di
mensi
onai
s 51
Ar
raysBi
-di
mensi
onai
s 51
Ut
il
izaçãodeum Ar
ray 52 Apostila De Excel Avançado
Par
aacederaoel
ement
o 52 Apost
i
laDeExcel
Avançado
At
ri
bui
çãodev
alor
es 52
Opt
ionBaseeAr
rayBounds 53
CONSTANTES 54
O QUESÃO CONSTANTES? 5
I
NPUTBOXEMSGBOX 56

O QUESÃO ? 57
I
NPUTBOX 57
O quef
az… 57
Si
ntaxe 57
Par
âmet
ros 58
MSGBOX 59
O quef
az… 59
Si
ntaxe 59
Par
âmet
ros 59
Val
oresPr
oduzi
dos… 62
DOMÍ
NIO DASVARI
ÁVEI
S,CONSTANTESEROTI
NAS 63
O QUEÉO DOMI
NIO? 64
DOMÍ
NIO DASVARI
ÁVEI
S 64
Âmbi
todoPr
ocedi
ment
o 64
Âmbi
todoMódul
o 65
Âmbi
todoPr
oject
o 6
DOMÍ
NIO DASCONSTANTES 67
Âmbi
todoPr
ocedi
ment
o 67
Âmbi
todoMódul
o 68
Âmbi
todoPr
oject
o 68
DOMÍ
NIO DESUBROTI
NASEFUNÇÕES 68
ESTRUTURASDECONTROLO 69
O QUESÃO ESTRUTURASDECONTROLO? 70
QUAI
SASESTRUTURAS… 70
I
F-THEN-
ELSE 71
FunçãoI
FdoExcel 71
Si
ntaxedaEst
rut
uraI
f
-Then-
Else 71
Apl
i
caçãoPr
áti
ca 72
Ai
nst
ruçãoadi
cionalEl
seI
f 76
DECLARAÇÃO DEVARI
ÁVEI
S..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
4
Apl
i
caçãoPr
áti
ca.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.76

Si
ntaxe 7
Apl
i
caçãoPr
áti
ca 7
AFunçãodasVar
iáv
eis: 78
Const
ruçãodoCi
clo: 78
Tr
aduçãoI
ntegr
al 79
Funci
onament
odoCi
clo: 79
Per
igosassoci
adosàut
il
i
zaçãodoci
cloFor
-Next
:79
Out
raApl
i
cação 80
WHI
LE-
WEND 81
Si
ntaxe 81
Apl
i
caçãoPr
áti
ca 82
AFunçãodasVar
iáv
eis: 82
Const
ruçãodoCi
clo: 82
Tr
aduçãoI
ntegr
al 83
Funci
onament
odoCi
clo 83
Per
igosassoci
adosàut
il
i
zaçãodoci
cloWhi
l
e-

Wend 84

Out
raApl
i
cação 84
DO –LOOP 85
Si
ntaxe 85
Apl
i
caçõesPr
áti
cas 86
www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 2/20
28/01/13 Criando Macros VBA no Excel
Apl
i
caçõesPr
áti
cas 86
SELECTCASE 8
Si
ntaxe 8
Apl
i
caçãoPr
áti
ca 8
Const
ruçãodaEst
rut
ura 89
FOR–EACH–NEXT 90
Si
ntaxe 90
Apl
i
caçõesPr
áti
cas 91
Ut
il
izandoAr
rays 91
Const
ruçãodoCi
clo 92
Ut
il
izandoCol
ecçõesdeObj
ect
os 92
COLECÇÕESDEOBJ
ECTOSEOBJ
ECTOS 94
O QUESÃO OBJ
ECTOS? 95
OBJ
ECTOS:PROPRI
EDADES,MÉTODOSE
95
EVENTOS
Pr
opr
iedades 95
Mét
odos 95
Ev
ent
os 95
OBJ
ECTOSMAI
SUTI
LIZADOSNO EXCEL 96
Pr
opr
iedades 96
Mét
odos 97
Pr
opr
iedades 98
Mét
odos 9
Pr
opr
iedades 100
Mét
odos 100
Pr
opr
iedades 101
Mét
odos 102
COLECÇÕESDE
OBJ
ECTOSSI
NGULARESVS
OBJ
ECTOS.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.103
I
NDEXAÇÃO DECOLECÇÕESPORNÚMERO OU
104
NOME
I
ndexaçãocom Baseem Númer
os 104
I
ndexaçãocom BasenoNome 105
Vant
agem 105
O Obj
ect
oRange–umaexcepção 105
Tr
atament
ocomoobj
ect
o: 105
Tr
atament
ocomocol
ecçãodeobj
ect
os: 105
REFERÊNCI
AIMPLÍ
CITA 106
Decl
araçãoi
mpl
í
cit
adaapl
i
cação: 106
Decl
araçãoi
mpl
í
cit
adoWor
kBook: 107
Decl
araçãoi
mpl
í
cit
adaWor
kSheet
: 107

velder
efer
ênci
aapr
iv
il
egi
ar 108
MI
SCELLANEOUS 109
AI
NSTRUÇÃO WI
TH 110
FOR–NEXT.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.7Apl
i
cação
Pr
áti
ca.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.110

OUTRASFUNÇÕESÚTEI
SDO VBA.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.1OUTRAS
FUNÇÕESÚTEI
SDO VBA.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.1

Macr
osMacr
osMacr
osMacr
os

Umamacr
oéum pequenopr
ogr
amaquecont
ém umal
i
stadei
nst
ruçõesar
eal
i
zarnoExcel
.Comosendoum r
eposi
tór
iode
oper
ações,umamacr
opodeexecut
arum conj
unt
odet
aref
asat
rav
ésdeum úni
copr
ocedi
ment
ooqualpodeseri
nvocado
r
api
dament
e.

Asi
nst
ruçõesquef
ormam ocor
podamacr
osãoescr
it
asnum códi
gopr
ópr
iopar
aqueocomput
adoraspossaent
ender
,
essal
i
nguagem édesi
gnadaporVBA–Vi
sualBasi
cforAppl
i
cat
ions.

Exi
stem duaspossi
bil
i
dadesdecr
iaçãodemacr
os:

At
rav
ésdoGr
avadordeMacr
os Ut
il
izandooedi
torepr
ogr
amandoem Vi
sualBasi
cforAppl
i
cat
ions

Gr
avarumaMacr
o1.
Tool
s/Macr
o/Recor
dNewMacr
o.O Excelexi
bir
áacai
xadedi
ál
ogodaf
i
g.1.

Fi
g.1–cai
xadedi
álogopar
aagr
avaçãodemacr
os.

2.
O nomedaMacr
oser
áconst
it
uídoporum conj
unt
odecar
act
eresquei
dent
if
icar
ãoaMacr
oeasuaf
unci
onal
i
dade.

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 3/20
28/01/13 Criando Macros VBA no Excel
3.
Shor
tcutKey–écompost
oporumacombi
naçãodet
ecl
asquepoder
ãoserut
il
izadaspar
aexecut
arumamacr
o.

4.
Opt
eporar
mazenaramacr
onumadassegui
ntesal
ter
nat
iv
as:Thi
sWor
kbook,NewWor
kbookou

Per
sonalWor
kbook,sendoquecadaumacor
respondeamacr
osdeâmbi
todi
f
erent
e.Assi
m dev
erãoar
mazenaramacr
ona
opçãoThi
sWor
kBookpar
aqueel
aest
ejaact
iv
asempr
equeodocument
oest
iv
eraber
to,epar
aqueel
aest
ejaar
mazenada
nopr
ópr
iof
i
chei
ronãocor
rendoor
iscodef
i
carar
mazenadanasMacr
osdoExcel
.(nar
ededoI
SCTEéi
mpossí
velgr
avara
macr
onoPer
sonalWor
kBook.
)

5.
NocampoDescr
ipt
ion,i
ntr
oduzaum coment
ári
oàf
unção–est
epoder
áseri
mpor
tant
epar
aquenãosej
aesqueci
doo
r
espect
iv
oobj
ect
iv
oef
unci
onal
i
dade.

6.
Cli
queem OKpar
aini
ciaragr
avaçãodamacr
o–nest
emoment
oser
áexi
bidaumat
ool
barsemel
hant
eàdaf
i
gur
a2,eo
í
conedor
atoser
átr
ansf
ormadonumacasset
e,i
ndi
candooest
adodegr
avação.

Fi
g.2–Tool
barexi
bidapar
aagr
avaçãodemacr
os.

7.
Nat
ool
barSt
opRecor
d,exi
stem doi
sbot
ões:St
opRecor
dingeRel
ati
veRef
erence–O bot
ãode

St
opRecor
dingt
ermi
naagr
avaçãodamacr
o,obot
ãodeRel
ati
veRef
erencesel
ecci
onaomododegr
avaçãodamacr
o–seé
f
eit
ocom baseem r
efer
ênci
asr
elat
iv
as(
bot
ãosel
ecci
onado)our
efer
ênci
asabsol
utas.

8.
Nocasodat
ool
barSt
opRecor
ddesapar
ecer
,poder
ávol
taraexi
bi-
laf
azendonomenuasequênci
a:

Vi
ew/Tool
bar
s/St
opRecor
d(sel
ecci
oneat
ool
bar
).Casoat
ool
barnãoapar
eçal
i
stadaagr
avaçãodemacr
osnãoest
á
act
iv
a.

Not
a:Tomeat
ençãoaospassosquedáquandoest
áagr
avarpoi
studoser
áregi
stado,oquesi
gni
f
icaquequandof
or
execut
aramacr
o,essespr
ocedi
ment
osser
ãoef
ect
uados.

Obj
ect
iv
o:Gr
avarumamacr
otest
andoadi
f
erençaent
reaexecuçãodemacr
oscom r
efer
ênci
asabsol
utaser
elat
iv
as.

1ªFase:Macr
ocom r
efer
ênci
asAbsol
utas

1.
Acci
oneagr
avaçãodamacr
o.At
ri
bua-
lheoShor
tKeyCt
rl
+P2.
Cer
ti
fi
que-
sequeobot
ãoRel
ati
veRef
erenceest
á
desact
iv
ado.3.
Cli
quenacél
ulaB3.4.
Escr
evaI
SCTE5.
For
mat
eacél
ulapar
aBol
d,I
tál
i
co,t
amanho18,Smal
lCaps,
…(ut
il
ize
oFor
mat/Font
)6.
Nacél
ulaB4escr
eva:Av
.For
çasAr
madas7.
Nacél
ul
aB5escr
eva:1700Li
sboa8.
Par
eagr
avaçãoda
macr
o.–Amacr
oest
ácr
iada.9.
Apaguet
udooqueescr
eveunascél
ulasdacol
unaB.10.
Cli
quenacél
ulaL8.1.
Car
regue
si
mul
taneament
enast
ecl
asCt
rleP12.
O queacont
eceu?

2ªFase:Macr
ocom r
efer
ênci
asRel
ati
vas

1.
Sel
ecci
oneacél
ulaD5.2.
Acci
oneagr
avaçãodamacr
o.At
ri
bua-
lheoShor
tKeyCt
rl
+R3.
Sel
ecci
oneobot
ãoRel
ati
ve
Ref
erence.4.
Escr
evaI
SCTEnacél
ul
aquehav
iasi
dosel
ecci
onada.5.
For
mat
eacél
ul
apar
aBol
d,I
tál
i
co,t
amanho18,Smal
l
Caps,
…(ut
il
i
zeoFor
mat/Font
)6.
Nacél
ulaD6escr
eva:Av
.For
çasAr
madas7.
Nacél
ulaD7escr
eva:1700Li
sboa8.
Par
ea
gr
avaçãodamacr
o.–Amacr
oest
ácr
iada.9.
Apaguet
udooqueescr
eveunascél
ulasdacol
unaD.10.
Cli
quenacél
ulaL8.
1.
Car
reguesi
mul
taneament
enast
ecl
asCt
rleR12.
O queacont
eceu?Por
quê?

O Excelquandosegr
avaumamacr
ocr
iaum obj
ect
odesi
gnadopormodul
enowor
kbookonder
egi
stat
odasasoper
ações
gr
avadasem l
i
nguagem Vi
sualBasi
cforAppl
i
cat
ions-VBA.Est
emodul
enãoapar
ecenoExcelcom asr
est
ant
esSheet
s.

Par
aserv
isual
i
zadoénecessár
ioabr
iroEdi
tordeVi
sualBasi
cforAppl
i
cat
ions:1.
Tool
s/Macr
o/Macr
os2.
Sel
ecci
ona-
sea
Macr
oeCl
i
ca-
senobot
ãoEdi
t

3.
Poder
ávi
sual
i
zarnaár
eadol
adodi
rei
toocódi
goVBAqueest
ásubj
acent
eàsmacr
osqueent
ret
ant
ogr
avou.Aípoder
á
execut
arasmesmast
aref
asquenum edi
tordet
ext
onor
mal
:escr
ever
,apagar
,copi
ar,mov
er,
… masi
nst
ruçõesdeVBA.

4.
Tent
efazeral
ei
tur
adoqueest
áescr
it
oecompr
eendaopr
ocedi
ment
odamacr
o.5.
Par
aregr
essaraoExcelbast
aFi
l
e/
Cl
oseandr
etur
ntoMi
crosof
tExcel
.

Pr
ogr
amaçãoem Vi
sualBasi
cforAppl
i
cat
ions

1.
Par
aacederaoedi
tordeVi
sualBasi
cforAppl
i
cat
ions:Tool
s/Macr
o/Vi
sualBasi
cEdi
tor(
par
asef
ami
l
iar
izarmai
scom o
edi
torconsul
teocapi
tul
oEdi
torVi
sualBasi
cforAppl
i
cat
ionseocapi
tul
oFunçõeseSubRot
inas)

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 4/20
28/01/13 Criando Macros VBA no Excel

Fi
gur
a3–Edi
tordeVi
sualBasi
cforAppl
i
cat
ions

2.
Par
ainser
irum módul
ofaçaI
nser
t/Modul
e–i
stopor
queasmacr
osqueconst
rui
rdev
erãoserescr
it
asdent
rodeum
módul
o(r
epar
enaFi
gur
a3queoModul
e1est
ásel
ecci
onadonaj
anel
adepr
oject
oedol
adodi
rei
tot
em-
seumaár
eade
edi
çãoondepoder
-se-
ãoescr
everasmacr
osaexecut
ar)

3.
Podeagor
apr
ogr
amarospr
ocedi
ment
osmanual
ment
eoucom r
ecur
soaal
gumasf
unci
onal
i
dadesdoEdi
tor
:

a)
Inser
t/Pr
ocedur
e–i
nser
eum pr
ocedi
ment
opar
aoqualdev
erái
ndi
carot
ipodepr
ocedi
ment
o.

b)
Quandoest
iv
erai
ntr
oduzi
rasv
ari
ávei
shav
erádeserexi
bidaal
i
stadet
iposdev
ari
ávei
spossí
vel
.

4.
Sempr
equepr
eci
sardeconst
rui
rumamacr
omai
soumenoscompl
i
cada,senãoconhecermui
tode

VBApoder
ácomeçarporgr
avarnoEXCELpequenasmacr
oscom oper
açõesmui
tosi
mpl
esedepoi
snoedi
tordeVBAt
ent
ar
compr
eenderasuaf
unci
onal
i
dadeeassi
m const
rui
rumamacr
ocadav
ezmai
scompl
exa,compl
etaeadequadaàssuas
exi
gênci
as.

5.
Poder
áem cadamacr
ofazerumachamadaaumaout
ramacr
o,bast
andopar
atalescr
everor
espect
iv
onome.

6.
NoEdi
tordeVi
sualBasi
cforAppl
i
cat
ionspoder
áencont
raraj
udapar
aodesenv
olv
iment
odoseupr
ocedi
ment
o.Assi
m:

6.
1.Cl
i
quenoÍ
conedoObj
ectBr
owserouVi
ew/
Obj
ectBr
owserouF2

6.
2.NaCai
xadeDr
op-
Downondeapar
ecer
efer
ido<Al
lLi
brar
ies>,sel
ecci
oneaapl
i
caçãopar
aaqualpr
etendeaj
uda–nest
e
casoExcel
.Conv
ém r
efer
irquepoder
áut
il
izarasf
unçõesdet
odaequal
querapl
i
cação.

6.
3.Naár
eai
nti
tul
adaporCl
assesapar
ecem t
odososobj
ect
osespecí
f
icospar
aomanuseament
odaapl
i
cação
sel
ecci
onada.Acl
asseespeci
aldesi
gnadaporGl
obal
sref
ere-
seàsf
unçõesqueest
ãodi
sponí
vei
snaapl
i
cação
i
ndependent
ement
edosobj
ect
ossel
ecci
onados.

6.
4.Sel
ecci
oneum dosobj
ect
osev
isual
i
zedol
adodi
rei
toosMember
sof“<El
ement
osel
ecci
onado>”

6.
5.Par
acadamembr
odacl
assedi
spõedeum hel
pon-
li
nequeoescl
arecesobr
ear
espect
iv
afunçãoef
unci
onament
o,
dandoexempl
oquepoder
átest
ar.Par
atalbast
acl
i
carsobr
eobot
ãodeHel
pdaj
anel
adoObj
ectBr
owser
.

Aexecuçãodeumamacr
opodeserconcr
eti
zadadedi
ver
sasf
ormas:

Tecl
adeAt
alho–Shor
tcutKey Bot
ãonaTool
bar

Run

ComandonoMenu

Edi
tordeVi
sualBasi
cforAppl
i
cat
ions

Tecl
adeAt
alho–Shor
tcutKey

Aassoci
açãoat
ecl
asdeat
alhoér
eal
i
zadaaquandodacr
iaçãodamacr
o.

Bot
ãonaTool
bar

1.
View/Tool
bar
s/Cust
omi
ze2.
Naj
anel
adoCust
omi
zesel
ecci
oneoCommandsTab3.
Sel
ecci
oneacat
egor
iaMacr
o
(
vi
sual
i
zar
áacai
xadedi
ál
ogoexi
bidanaFi
gur
a4)

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 5/20
28/01/13 Criando Macros VBA no Excel

Fi
g.4–cai
xadedi
álogopar
aassi
gnaçãodebot
ãoamacr
os

4.
Naár
ear
espei
tant
eaosCommandsser
ãoexi
bidosdoi
sit
ens:Cust
om MenuI
tem eCust
om But
ton.Sel
ecci
oneest
e
segundoear
rast
e-ocom or
atoat
éàTool
barondeopr
etendei
nser
ir
.At
ençãosópoder
áinser
irobot
ãoquandoopont
eir
odo
r
atof
i
carcom af
ormaI
.Nessemoment
oli
ber
tar
áobot
ãodor
atout
il
izadopar
aoar
rast
ament
oev
eri
f
icar
áqueser
ácr
iado
um nov
obot
ão.

5.Naj
anel
adeCust
omi
zepoder
áai
ndaut
il
izardoi
sbot
õesqueseencont
ram naár
eadoSel
ect
edCommand:

a)
Descr
ipt
ion–queexi
beum t
ext
oexpl
i
candooqueocomandosel
ecci
onadof
az.b)
Modi
f
ySel
ect
ion–semel
hant
eaocl
i
que
sobr
eobot
ãocr
iado,exi
beumasér
iedet
aref
aspossí
vei
spar
aconf
i
gur
açãodobot
ão(v
eroper
açõessegui
ntes)
.

Fi
g.5–Menupar
aconf
i
gur
açãodobot
ãodat
ool
bar

6.
Cli
quesobr
eobot
ãoModi
f
ySel
ect
ion-abr
indoum menudet
aref
aspossí
vei
spar
aaconf
i
gur
açãodobot
ão–VerFi
gur
a5
a)
Noúl
ti
moagr
upament
odeconf
i
gur
açõespossí
vei
sexi
steumaopçãodesi
gnadaporAssi
gn

Macr
o.Est
aopçãoper
mit
eindi
carqualamacr
oquedev
eráserexecut
adasempr
equesecl
i
canobot
ão.

b)
Not
ercei
roagr
upament
oexi
stem 4est
il
osdi
f
erent
esdeexi
birobot
ão:sócom t
ext
o,com t
ext
oei
magem ousoment
ecom
i
magem.Sesel
ecci
onaroest
il
oText
oeI
magem,ser
áexi
bidonobot
ãopar
aal
ém dai
magem onomeassoci
adoaobot
ão.

c)
NaopçãoNamei
ndi
queonomequepr
etendev
erassoci
adoaobot
ão,pordef
ei
toapar
eceonomedamacr
o.(
repar
eque
apar
eceum &at
rásdal
etr
aqueapar
eceasubl
i
nhado)d)
Par
aal
ter
arai
magem associ
adaaobot
ãopoder
á:opt
arporuma
i
magem di
f
erent
e,al
ter
araqueest
áav
isual
i
zarouaconst
rui
rasua.Par
aissocl
i
quesobr
eat
aref
adeChangeBut
ton
I
mage,sel
ecci
oneol
ogot
ipopr
etendi
do,senenhum osat
isf
i
zerepr
etendercr
iaroseusel
ecci
oneol
ogot
ipoquer
epr
esent
a
um quadr
adov
azi
o.Par
aopoder(
re)
desenharai
magem,nal
i
stadet
aref
asdi
sponi
bil
i
zadapel
obot
ãoModi
f
ySel
ect
ionopt
e
porEdi
tBut
tonI
mageecr
ieasuai
magem quepoder
áreedi
tar
.

DI
SSOCI
ARUMAMACRO DEUM BOTÃO 1.
Tool
s/Cust
omi
ze

2.
Arr
ast
eobot
ãodat
ool
barat
éaodocument
o3.Sol
te-
o

Run

1.
Tool
s/Macr
o/Macr
os2.
Nacai
xadedi
álogoMacr
ossel
ecci
ona-
seamacr
opr
etendi
danal
i
stadaMacr
oName(
Figur
a6)
3.Cl
i
quesobr
eobot
ãoRun

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 6/20
28/01/13 Criando Macros VBA no Excel

Fi
g.6–J
anel
apar
asel
ecçãodamacr
oaexecut
ar

ComandonoMenu

1.
View/Tool
bar
s/Cust
omi
ze2.
Naj
anel
adoCust
omi
zeencont
ra-
senoCommandsTab3.
Sel
ecci
oneacat
egor
iaMacr
o

4.
Naaér
ear
espei
tant
eaosCommandsser
áexi
bidoum i
tem deCust
om MenuI
tem,sel
ecci
one-
oear
rast
e-ocom or
atoat
é
aumaposi
çãodomenuquel
hei
nter
esse–porexempl
opodei
ntr
oduzi
rnumadasl
i
stasdeopçõesdomenu(
Fil
e,Vi
ew,
…)
ouent
ãocr
iarcomoumanov
aopçãodoMenu.
.

Fi
g.7–Cai
xadedi
ál
ogopar
aat
ri
bui
rumamacr
oaum comandodomenu

5.
Sepr
etendercr
iarumanov
ali
stanomenudev
erá:a)
Sel
ecci
onaracat
egor
iaNewMenub)
Naár
eadosCommandsser
á
exi
bidaaopçãoNewMenu,quedev
eráar
rast
arat
éàbar
radosmenusc)
Poder
áal
ter
aroseunomecl
i
candonobot
ãode
Modi
f
ySel
ect
iond)
Est
anov
ali
stat
eráomesmocompor
tament
oqueaout
ras

Fi
g.8–Cai
xadedi
ál
ogopar
acr
iarum nov
omenunabar
radosmenus

6.Naj
anel
adeCust
omi
zepoder
áai
ndaut
il
izardoi
sbot
õesqueseencont
ram naár
eadoSel
ect
edCommand:

c)
Descr
ipt
ion–queexi
beum t
ext
oexpl
i
candooqueocomandosel
ecci
onadof
az.d)
Modi
f
ySel
ect
ion–semel
hant
eaocl
i
que
sobr
eomenuoucomandodemenucr
iado,exi
beumasér
iedet
aref
aspossí
vei
spar
aconf
i
gur
ação(
Veroi
tem 6docapí
tul
o
Associ
arumaMacr
oaum Bot
ão)

1.
Tool
s/Cust
omi
ze2.
Arr
ast
eoMenuouComandodoMenuat
éaodocument
oesol
te-
o

Edi
tordeVi
sualBasi
cforAppl
i
cat
ions

1.
Tool
s/Macr
o/Vi
sualBasi
cEdi
tor-par
aacederaoEdi
tor

2.
Posi
cionando-
senocor
podeumamacr
o,naj
anel
adol
adodi
rei
toi
nfer
ior
,poder
áexecut
aramacr
oat
rav
ésde:Run/Run
Sub-
User
For
ms(
fi
gur
a9)oubot
ãoRun.

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 7/20
28/01/13 Criando Macros VBA no Excel

Fi
g.9–Execuçãodeumamacr
onoEdi
tordeVi
sualBasi
cforAppl
i
cat
ions

Ar
emoçãodasmacr
ospoder
áserf
eit
a:

noambi
ent
eExcel
,ou noEdi
tordeVBA

RemoçãodeMacr
osem Ambi
ent
eExcel

1.
Tool
s/Macr
o/Macr
os2.
Sel
ecci
ona-
seaMacr
oar
emov
er3.
Cli
ca-
senobot
ãoDel
ete4.
Pedeaconf
i
rmaçãoeapagase
conf
i
rmar

RemoçãodeMacr
osnoEdi
tordeVBA

2.
Tool
s/Macr
o/Vi
sualBasi
cEdi
tor-par
aacederaoEdi
tor

3.
Podem-
seapagarasmacr
osqueseencont
rem naj
anel
adol
adodi
rei
toi
nfer
iorequet
êm i
nici
ocom apal
avr
aSubef
i
m
com aspal
avr
asEndSub(
Vercapi
tul
odef
unçõesepr
ocedi
ment
os)

Edi
tordeVi
sual
Edi
tordeVi
sual

Basi
cfor
Basi
cforAppl
i
cat
ionsAppl
i
cat
ions

Par
aacederaoedi
tordeVi
sualBasi
cforAppl
i
cat
ions:Tool
s/Macr
o/Vi
sualBasi
cEdi
tor

Fi
gur
a10–Edi
tordeVi
sualBasi
cforAppl
i
cat
ions

Encont
rar
áoécr
andi
vi
di
doem t
rêsgr
andesár
eas:Pr
ojectExpl
orer
,Pr
oper
ti
esWi
ndowedol
adodi
rei
toaj
anel
adeedi
ção
det
ext
o.

Seaj
anel
anãoest
iv
erv
isí
velact
iv
e-aat
rav
ésdoVi
ew/Pr
ojectExpl
orerouut
il
izandoobot
ãooucombi
naçõesdel
etr
as
associ
adasaest
atar
efa.Nest
ajanel
apoder
ávi
sual
i
zarahi
erar
qui
adospr
oject
osdeVi
sualBasi
cforAppl
i
cat
ionsact
iv
os
nessemoment
o.

Ent
reel
esdev
eráencont
rarum cuj
onomecor
respondeaonomedoWor
kBookdoExcelcom queest
áat
rabal
har
.E.
g.
VBAPr
oject(
Book1)
.Édent
rodest
epr
oject
oquedev
erát
rabal
harpar
aquet
odasasf
unci
onal
i
dadesquei
mpl
ement
eest
ejam
nel
eact
iv
assempr
equenecessár
io.

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 8/20
28/01/13 Criando Macros VBA no Excel

Fi
gur
a1–J
anel
adoPr
ojectExpl
orer

Assi
m sef
i
zerodesdobr
ament
odoseuVBAPr
oject
,encont
rar
áum f
oldercuj
adesi
gnaçãoéMi
crosof
tExcelObj
ect
s,eum
out
rodesi
gnadoModul
es(
seest
enãoapar
ecersi
gni
f
icaqueoseupr
oject
oai
ndanãopossuiqual
quermacr
oimpl
ement
ada.
Par
acr
iarest
efol
derdev
eráf
azer
:Inser
t/Modul
e).

Nof
ol
derdoMi
crosof
tExcelObj
ect
s,encont
rar
átodososobj
ect
osquef
azem par
tedoseudocument
o:asWor
kSheet
seo
Wor
kBook(
quenof
undoéoconj
unt
odeWor
kSheet
s).Secl
i
cardupl
ament
eem cadaum dest
esobj
ect
os,umanov
ajanel
a
ser
ávi
sual
i
zadanaár
eadadi
rei
ta,em cadaumadessasár
easpoder
ádef
i
niraacçãoaserexecut
adaem f
unçãodos
ev
ent
osdecadaobj
ect
o.

NoFol
derModul
es,apar
ecer
áoconj
unt
odef
i
chei
ros(
módul
os)ondepoder
ápr
ogr
amarassuasmacr
os.Cl
i
cando
dupl
ament
eem cadaum dosmódul
osi
ndi
cadospoder
ávi
sual
i
zarasmacr
os,queocompõem,naj
anel
adadi
rei
ta.

Seaj
anel
adaspr
opr
iedadesnãoest
iv
erv
isí
velact
iv
e-aat
rav
ésdoVi
ew/Pr
oper
ti
esWi
ndowouut
il
izandoobot
ãoou
combi
naçõesdel
etr
asassoci
adasaest
atar
efa.

Fi
gur
a12–J
anel
adepr
opr
iedadesNest
ajanel
apoder
ávi
sual
i
zareal
ter
araspr
opr
iedadesquedef
i
nem cadaobj
ect
o:onome
-nest
ecaso.

Aj
anel
adeedi
çãoexi
bir
áacadamoment
oocódi
goem Vi
sualBasi
cforAppl
i
cat
ionsassoci
adoaoel
ement
osel
ecci
onado
naj
anel
adoPr
ojectExpl
orer
.

Fi
gur
a13–J
anel
adeedi
ção

NoEdi
tordeVi
sualBasi
cforAppl
i
cat
ionspoder
áencont
raraj
udapar
aodesenv
olv
iment
odoseupr
ocedi
ment
o.Assi
m:

Cl
i
quenoÍ
conedoObj
ectBr
owserouVi
ew/
Obj
ectBr
owserouF2

NaCai
xadeDr
op-
Downondeapar
ecer
efer
ido<Al
lLi
brar
ies>,sel
ecci
oneaapl
i
caçãopar
aaqualpr
etendeaj
uda–nest
e
casoExcel
.Conv
ém r
efer
irquepoder
áut
il
izarasf
unçõesdet
odaequal
querapl
i
cação.

Naár
eai
nti
tul
adaporCl
assesapar
ecem t
odososobj
ect
osespecí
f
icospar
aomanuseament
odaapl
i
caçãosel
ecci
onada.A
cl
asseespeci
aldesi
gnadaporGl
obal
sref
ere-
seàsf
unçõesqueest
ãodi
sponí
vei
snaapl
i
caçãoi
ndependent
ement
edos
obj
ect
ossel
ecci
onados.

Sel
ecci
oneum dosobj
ect
osev
isual
i
zedol
adodi
rei
toosMember
sof“<El
ement
osel
ecci
onado>”

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 9/20
28/01/13 Criando Macros VBA no Excel
Par
acadamembr
odacl
assedi
spõedeum hel
pon-
li
nequeoescl
arecesobr
ear
espect
iv
afunçãoef
unci
onament
o,dando
um exempl
oquepoder
átest
ar.Par
atalbast
acl
i
carsobr
eobot
ãodeHel
pdaj
anel
adoObj
ectBr
owser
.

O Edi
tordeVi
sualBasi
cforAppl
i
cat
ions,di
sponi
bil
i
zaaout
il
izadorum si
stemadeaj
udaconst
ant
e.Assi
m,quandose
const
roi
em pr
ocedi
ment
os,naj
anel
adeedi
ção,àmedi
daqueal
i
nguagem éescr
it
aoedi
torabr
eopor
tunament
eli
stasde
opçõespar
aaj
udaraescr
everocódi
go.

NaJ
anel
adeEdi
çãosãopr
ogr
amados,ar
mazenadoseexi
bidosospr
ocedi
ment
osVBAcr
iados.

Por
ém,ot
ext
oenv
olv
idoem cadapr
ocedi
ment
oédot
adodeumasér
iedecor
esdi
f
erent
es,sendoquecadaumat
em
si
gni
f
icadodi
f
erent
e.

CorSi
gni
f
icado

Azul
Pal
avr
as-
Chav
edal
i
nguagem.Ex:Sub,EndSub,Funct
ion,I
f
,Then,El
se,Whi
l
e,Loop,

Ver
mel
hoSempr
equeescr
evenaj
anel
aumal
i
nhaem l
i
nguagem VBA,oedi
torv
air
ect
if
icarasi
ntaxedal
i
nguagem porf
orma
ai
ndi
carseexi
steounãoal
gum er
rodeescr
it
a.Sef
ordet
ect
adoum er
roal
i
nhaf
i
caav
ermel
hoeéexi
bidaumamensagem
deer
ro,senãot
odasaspal
avr
assãor
econheci
das,col
ori
dasdacordar
espect
iv
acat
egor
iaeal
ter
adaspar
alet
ras
mai
úscul
asoumi
núscul
as,conf
ormeest
ejapr
é-def
i
nido.

Pr
etoNomedev
ari
ávei
s,pr
ocedi
ment
os,v
alor
es,oper
ador
es,

Ver
deComent
ári
oint
roduzi
dosnosei
odospr
ocedi
ment
os.Est
escoment
ári
osser
vem par
aout
il
izadorpoderassoci
ar
al
gumasexpl
i
caçõesaospr
ocedi
ment
osr
eal
i
zados.Der
efer
irqueaspal
avr
ascom est
acorsãoi
gnor
adasnopr
ocedi
ment
o,
i
.e.
,nãopr
oduzem qual
queref
eit
onasuaexecução.Par
aint
roduzi
rcoment
ári
osbast
aráqueocar
act
ere‘ant
ecedaot
ext
oa
i
ntr
oduzi
r.

Amar
eloUm sombr
eadoamar
elopoder
áapar
ecersobr
eal
i
nhaquei
dent
if
icaum pr
ocedi
ment
o.Est
acorsi
mbol
i
zaa
ocor
rênci
adeum er
ronaexecuçãodor
espect
iv
opr
ocedi
ment
oeoest
adodeexecuçãodomesmo,i
.e.
,opr
ocedi
ment
o
i
nici
ouaexecução,dur
ant
eaqualdet
ect
ouum er
roeagor
aest
ápar
ado,masai
ndaem execução.Quandoi
stoacont
ecer
nãodev
eráv
olt
aradaror
dem deexecuçãodopr
ocedi
ment
o,sem ant
espar
ar(
Stop)aexecuçãomalsucedi
da.

FunçõeseFunçõeseSubRot
inasSubRot
inas

Comof
oir
efer
idoant
eri
orment
e,quandosegr
avaumamacr
onoExcel
,est
etem um compor
tament
oem backgr
oundque
r
eal
i
zaar
espect
iv
acodi
f
icaçãopar
aVi
sualBasi
cforAppl
i
cat
ions.Est
eresul
tadoébem v
isí
velquandopr
ocedemosàedi
ção
deumamacr
onoEdi
tordeVi
sualBasi
cforAppl
i
cat
ions.Cadamacr
oquesecr
iat
em um compor
tament
oconcr
etoe
aut
ónomor
elat
iv
ament
eaout
rasmacr
osi
mpl
ement
adas,et
em comoobj
ect
iv
oexecut
arum det
ermi
nadonúmer
ode
i
nst
ruções1quer
espondam àsexi
gênci
asdout
il
izador
.

Cadamacr
ocr
iadadáor
igem aum pr
ocedi
ment
oour
oti
na.Exi
stem doi
sti
posder
oti
nas:

assubr
oti
nasour
oti
nasSub,e asf
unções.

Def
i
niçãodeSubRot
inas

AsSubRot
inassãoaquel
ascuj
adef
i
niçãoédel
i
mit
adapel
aspal
avr
as-
chav
eSubeEndSub.Assi
m ser
epar
art
odasas
macr
osquegr
avanoExcelsãodest
eti
po.Repar
eai
ndacomoéquesãodef
i
nidas:

Sub<nome_da_macr
o>()<cor
po_da_macr
o>EndSub

Est
asSubRot
inassãodesi
gnadaspel
onome2quel
heat
ri
buí
mosenãor
ecebem par
âmet
ros3doext
eri
or,t
êm comof
unção
desempenharum conj
unt
odet
aref
asquecompõem oseucor
po.O cor
podamacr
o,éassi
m compost
oporum conj
unt
ode
i
nst
ruções,sendoquecadai
nst
ruçãodi
f
erent
enecessi
tadeest
arnumal
i
nhadi
f
erent
e.Cont
udo,quandoset
rat
ade
i
nst
ruçõesdemasi
adogr
andesoedi
torf
azasuapar
ti
çãopordi
ver
sasl
i
nhas,r
ecor
rendoaooper
ador“
_”,porf
ormaaf
aci
l
itar
al
eit
ura.

Tr
abal
harnoEdi
tordeVBA–Cr
iarumaSubRot
ina

Par
acr
iarumaSubRot
inaénecessár
ioqueexi
staum módul
oondesepossaescr
ever
.Umav
ezposi
ci
onadonessemódul
o
poder
á:

1Ent
enda-
sei
nst
ruçãocomoumat
aref
aaexecut
arquecor
respondeaumal
i
nhadecódi
go.2O nomedar
oti
napodeser
qual
querum desdequenãocont
enhaespaços,comeceporcar
act
eresal
f
a

Escr
everamacr
oint
egr
alment
e,ou

Recor
reraoI
nser
t/Pr
ocedur
epar
aqueoVi
sualBasi
cforAppl
i
cat
ionsl
hecr
ieaest
rut
ura(
Figur
a14)

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 10/20
28/01/13 Criando Macros VBA no Excel

Fi
gur
a14–Cai
xadeDi
álogopar
aacr
iaçãodeumanov
arot
ina

Assi
m dev
erái
ndi
carot
ipoder
oti
naacr
iar–Subeonomequepr
etendedaràmacr
o(our
oti
naoupr
ocedi
ment
oou
SubRot
ina)4.Aut
omat
icament
eel
ecr
iar
áaest
rut
uradar
oti
na,nest
ecasof
i
car
ia:

SubMacr
o1()EndSub

ExecuçãodeumaSubRot
ina

SubRot
inaeMacr
osãoduasdesi
gnaçõespar
aamesmar
eal
i
dade,por
tant
otudooquef
oir
efer
idor
elat
iv
ament
eaMacr
osé
v
áli
dot
ambém par
aasSubRot
inas.(
Consul
tarcapí
tul
odasMacr
os)

Nest
econt
ext
oaexecuçãodeSubRot
inassegueomesmomecani
smodasmacr
os.Por
ém nest
emoment
ojásepoder
efer
ir
umanov
afor
madeexecut
arasmacr
osouSubRot
inas–dent
rodeout
ras

3Par
ateranoçãodoquesãopar
âmet
rosr
ecor
de-
sedof
unci
onament
odasf
unçõesdoExcel
,quepar
aexecut
arem
det
ermi
nadaf
unçãonecessi
tav
am der
eceberpar
âmet
rosquecol
ocamosent
repar
ênt
esi
ssepar
adosporv
ir
gul
as.

4Nomesal
ter
nat
iv
ospar
afazerr
efer
ênci
aaum conj
unt
odei
nst
ruções.

r
oti
nas,i
.e.
,quandoseescr
evedent
rodeumar
oti
naonomedeout
raaexecuçãodar
oti
nat
em cont
inui
dadenaexecuçãoda
r
oti
naqueest
áaseri
nvocada.

Def
i
niçãodeFunções

Funçõessãor
oti
nascuj
adef
i
niçãocomeçacom apal
avr
a-chav
eFunct
ionet
ermi
nacom aspal
avr
asEndFunct
ion.Todasas
f
unçõesqueut
il
izanoExcelsãodest
eti
poder
oti
na.Asuadef
i
niçãot
em aest
rut
urasegui
nte:

Funct
ion<NomedaFunção>(<par
amet
ro1>,<par
amet
ro2>,
…)

… <NomedaFunção>=<Val
or/Expr
essão>…

EndFunct
ion

Af
unçãoéi
dent
if
i
cadapel
onome,pel
onúmer
oet
ipodepar
âmet
rosr
ecebi
dos,et
em comoobj
ect
iv
oexecut
arum conj
unt
o
dei
nst
ruçõesepr
oduzi
rum v
alorf
i
nal
.Ist
oé,sempr
equesepr
etenderexecut
arumaf
unçãoésabi
doàpr
ior
iqueel
a
pr
oduzi
ráum v
alor
.Recor
de-
secomoexempl
oaf
unçãoSUM,est
arecebeporpar
âmet
roum conj
unt
odev
alor
esquese
pr
etendem somar
,sabe-
sequeor
esul
tadodaapl
i
caçãodessaf
unçãoaoconj
unt
odev
alor
esser
áor
espect
iv
osomat
óri
o.

Par
adef
i
nirov
alorpr
oduzi
doporumaf
unçãobast
anoseui
nter
ior
,at
ri
bui
raonomedaf
unçãoum det
ermi
nadov
alorou
expr
essão.

Def
i
niçãodot
ipodepar
âmet
rosedot
ipodaf
unção

Todososel
ement
osdei
nputeout
putdeumaf
unçãot
êm um t
ipodedadosat
ri
buí
do.Assi
m ospar
âmet
rosdev
erãoser
def
i
nidoscom ot
ipodedadosr
espect
iv
oeaf
unçãodev
eráserdef
i
nidadot
ipodedadosqueel
aenv
iepar
aoext
eri
or.Após
i
stopoder
-se-
áref
i
naradef
i
niçãodeumaf
unção:

Funct
ion<NomedaFunção>(<par
amet
ro1>As<Ti
po>,…)As<Ti
po>

… <NomedaFunção>=<Val
or/Expr
essão>…

EndFunct
ionNot
a:Seost
iposnãof
orem def
i
nidosser
áassumi
dopordef
eit
ocomosendodot
ipoVar
iant

Tr
abal
harnoEdi
tordeVBA–Cr
iarumaFunção

Par
acr
iarumaFunçãoénecessár
ioqueexi
staum modul
oondesepossaescr
ever
.Umav
ezposi
cionadonessemódul
o
poder
á:

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 11/20
28/01/13 Criando Macros VBA no Excel
Escr
everamacr
oint
egr
alment
e,ou

Recor
reraoI
nser
t/Pr
ocedur
epar
aqueoVi
sualBasi
cforAppl
i
cat
ionsl
hecr
ieaest
rut
ura(
Figur
a15)

Fi
gur
a15–Cai
xadeDi
álogopar
aacr
iaçãodeumanov
arot
ina-f
unção

Nest
acai
xadedi
álogodev
erái
ndi
carot
ipoder
oti
naacr
iar–Funct
ioneonomequepr
etendedaràf
unção.
Aut
omat
icament
eoVi
sualBasi
cforAppl
i
cat
ionscr
iar
áaest
rut
uradar
oti
na,quenest
ecasof
i
car
ia:

Funct
ionI
VA()EndFunct
ion

ExecuçãodeumaFunção

Umav
ezqueumaf
unçãopr
oduzum v
alorel
apoder
áserexecut
ada: dent
rodeumacél
ulanumaWor
kSheet
,àsemel
hança
dequal
querumaout
raf
unçãodoExcel

dent
rodequal
querout
raf
unçãoouSubRot
ina.

Com basenasegui
ntef
unção,anal
i
semosasf
ormasdeexecuçãocom mai
spor
menor
:

Fi
gur
a16–J
anel
adeEdi
çãocom af
unçãoI
VA

1.
Posi
cione-
senacél
ulaondepr
etendei
nser
iraf
unção2.
Inser
t/Funct
ion3.
Sel
ecci
oneacat
egor
iaUserDef
i
ned–r
epar
e
queapar
ecel
i
stadaaf
unçãoqueacaboudecr
iarI
VA(
Figur
a17)

Fi
gur
a17–Cai
xadeDi
álogopar
aint
roduçãodaf
unção

4.
Cli
queem OKedei
medi
atoumaj
anel
adeaj
udav
ir
áauxi
l
iaraut
il
izaçãodasuaf
unção(
Figur
a18)

Fi
gur
a18–Cai
xadeDi
álogopar
aapoi
oàut
il
izaçãodaf
unção5.
Int
roduzaospar
âmet
rosecl
i
queem OK(
Figur
a19)

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 12/20
28/01/13 Criando Macros VBA no Excel

Fi
gur
a19–Cai
xadeDi
álogopar
aapoi
oàut
il
izaçãodaf
unção–i
ntr
oduçãodev
alor
es

Em suma:

Qual
querf
unçãopoder
áserchamadaapar
ti
rdaWor
kSheetdoExcel
,sendoqueasuachamadaser
áreal
i
zadaà
semel
hançadequal
querout
raf
unção:numacél
ula

=<nomedaf
unção>(
<Par
am_1>,<Par
am_2>)

Quandodent
rodeumar
oti
nasef
azr
efer
ênci
aaonomedeumaout
rar
oti
naaexecuçãodapr
imei
rapassapel
aexecução
daquel
aqueest
áaseri
nvocada.

Noexempl
oquesesegue,af
unçãoVal
or_Li
qui
dof
azumachamadaàf
unçãoI
VAporf
ormaaque,ov
alorporest
a
pr
oduzi
do,sej
aadi
ci
onadoàv
ari
ávelVal
or,eassi
m pr
oduzi
roout
putf
i
naldaf
unçãoVal
or_Li
qui
do.

Fi
gur
a20–FunçãoVal
or_Li
qui
doaoserexecut
adadáor
densdeexecuçãoàf
unçãoI
VAUm out
roexempl
opoder
áel
uci
dar
mel
hor
:

Fi
gur
a21–ASubr
oti
naI
dent
_Mai
oraoserexecut
adadáor
densdeexecuçãoàf
unçãoVer
_Mai
or

Asf
unçõessãosi
mil
aresàssubr
oti
nas,exi
stem si
mpl
esment
etr
êsdi
f
erenças:1.
AsFunçõesComeçam com apal
avr
a-
chav
eFunct
ionet
ermi
nam com aspal
avr
asEndFunct
ion2.
AsFunçõespodem serchamadasapar
ti
rdef
órmul
as
i
ntr
oduzi
dasnumaWor
kSheet3.
Asf
unçõesr
etor
nam v
alor
espar
aasf
órmul
asousubr
oti
nasqueaschamar
em

Regr
a1:Comoumaf
unçãor
etor
naum v
alor
,est
adev
eráserut
il
izadanumaexpr
essão.Quandoumaf
unçãoéut
il
izadado
l
adodi
rei
todeumaassi
gnação,oucomoar
gument
odeumaout
rar
oti
na,dev
erse-
ápassarospar
âmet
rosdent
rode
par
ênt
esi
s

Regr
a2:Pode-
sechamarumaf
unçãoousubr
oti
nacom apal
avr
a-chav
eCal
l
,nest
ecasodev
er-
se-
ãocol
ocart
odosos
par
âmet
rosent
repar
ênt
esi
s.

Regr
a3:Quandoumar
oti
naéchamadadef
ormai
sol
adaesem apal
avr
a-chav
eCal
l
,nãosedev
eut
il
i
zarpar
ênt
esi
s.

Var
iáv
eisVar
iáv
eisVar
iáv
eisVar
iáv
eis

O quesãov
ari
ávei
s?Asv
ari
ávei
sconst
it
uem r
eposi
tór
iost
empor
ári
osdedados,podendoserut
il
izadaspar
adi
ver
sosf
i
ns.

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 13/20
28/01/13 Criando Macros VBA no Excel

Fi
gur
a2–Manuseament
odeVar
iáv
eis

Assi
gnaçãodev
alor
esav
ari
ávei
s:

Quandosepr
etendeat
ri
bui
rval
oresav
ari
ávei
sdev
er-
se-
áindi
caronomedav
ari
ável
,ooper
ador"
="eov
alorquesepr
etende
queav
ari
ávelar
mazene.

<Nome_Var
iáv
el>=<Val
or>

Pel
aobser
vaçãodopr
ocedi
ment
oAdi
ção-Fi
gur
a2-podemosv
eri
f
icarqueasv
ari
ávei
sPar
cel
a_1ePar
cel
a_2ar
mazenam os
v
alor
esi
ntr
oduzi
dospel
out
il
izadorat
rav
ésdasI
nput
Box(
Vercapí
tul
o"I
nput
BoxeMsgBox"
).Também àv
ari
ávelTot
alv
aiser
at
ri
buí
doov
alorr
esul
tant
edaadi
çãodasduaspar
cel
as-Tot
al=Par
cel
a_1+Par
cel
a_2.

Ut
il
izaçãodev
ari
ávei
scomosef
ossem v
alor
es:

O nomedav
ari
ávelr
epr
esent
aocont
eúdodamesma,i
.e.
,sempr
equemenci
onaronomedav
ari
áveléoseucont
eúdoque
ser
áconsi
der
ado.

Noexempl
odaf
i
gur
a2,pode-
seconst
atarquenaexpr
essão:

Tot
al=Par
cel
a_1+Par
cel
a_2

Par
cel
a_1r
epr
esent
aopr
imei
rov
alori
ntr
oduzi
doePar
cel
a_2r
epr
esent
aosegundov
alor
,nãoset
rat
adeadi
cionaronome
deduasv
ari
ávei
s,masadi
cionaroscont
eúdosqueel
asar
mazenam.

Ot
ipodev
ari
ávelest
áassoci
adoaogéner
odei
nfor
maçãoqueest
atem hi
pót
esedear
mazenar

Bool
ean–2byt
es–Per
mit
ear
mazenarv
alor
esBool
enaos–Tr
ueouFal
seByt
e–1Byt
e–per
mit
ear
mazenarnúmer
ossem
si
nalent
re0e255Cur
rency-8byt
es–per
mit
ear
mazenarmoedaDat
e–8Byt
es–per
mit
ear
mazenardat
as

Doubl
e–8byt
es–per
mit
ear
mazenarum r
ealdesde-
1.79769313486232E308at
é-4.
94065645841247E-
324par
aval
ores
negat
iv
os,edesde1.
79769313486232E308at
é4.
94065645841247E-
324par
aval
oresposi
ti
vos.

Si
ngl
e–4byt
es–per
mit
ear
mazenarum r
ealdesde-
3.402823E38at
é-1.
4011298E-
45,par
aval
oresnegat
iv
osedesde
3.
402823E38at
é1.
4011298E-
45,par
aval
oresposi
ti
vos

I
nteger–2byt
es-per
mit
ear
mazenarnúmer
osi
ntei
rosent
re-
32.
768e32767

Long–4byt
es–per
mit
ear
mazenarnúmer
osi
ntei
rosent
re-
2147483648e2147483648

Obj
ect–4byt
es–ut
il
izadopar
afazerr
efer
ênci
aaum obj
ect
odoExcelSt
ri
ng–1byt
eporcar
act
ere–per
mit
ear
mazenar
conj
unt
osdecar
act
eresVar
iant–16byt
es-per
mit
ear
mazenarqual
quert
ipodedadosUser
-Def
i
ned–per
mit
ear
mazenar
v
alor
esdet
iposdi
f
erent
es

Di
mI_Numer
oAsI
nteger

Onde:

Di
m –Pal
avr
achav
equei
ndi
caumadecl
araçãodev
ari
ávei
s(abr
evi
atur
adedi
mensão)I
_Numer
o-nomedav
ari
ávelaut
il
izar
As–pal
avr
achav
eut
il
izadapar
asepar
aronomedav
ari
áveldot
ipodedadosI
nteger–t
ipodedadosat
ri
buí
doàv
ari
ável

Épossí
velnamesmadecl
araçãodev
ari
ávei
sdecl
ararv
ari
ávei
sdedi
ver
sost
ipos:Di
mvar
1AsI
nteger
,var
2AsDat
e,v
ar3As
Doubl
e

Par
adecl
arardi
ver
sasv
ari
ávei
sdomesmot
ipo:Di
mvar
_1,v
ar_2,v
ar_3AsCur
rency

♦Si
mpl
i
fi
cam acodi
f
icação,pr
inci
pal
ment
equandosenecessi
tadeut
il
izarum v
alorespeci
f
icoi
númer
asv
ezes

♦Com v
ari
ávei
socódi
goémai
srápi
do

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 14/20
28/01/13 Criando Macros VBA no Excel
Umav
ari
ávelobj
ect
orepr
esent
aumar
efer
ênci
aaum obj
ect
o.Umav
ari
áveldeext
remai
mpor
tânci
aquef
aci
l
itaacodi
f
icaçãoe
mel
hor
aaper
for
mancedasubr
oti
na.

Decl
araçãodaVar
iáv
elObj
ect
oDi
m <Var
_Obj
ect
o>AsObj
ect

At
ri
bui
çãodeumav
ari
ávelObj
ect
oSet<Var
_Obj
ect
o>=<Obj
ect
o>

Onde:

Set–pal
avr
achav
equei
ndi
caaassi
gnaçãodeumav
ari
ávelobj
ect
o<Var
_Obj
ect
o>-Var
iáv
elObj
ect
o=-Oper
adorde
assi
gnação<Obj
ect
o>-Obj
ect
oaserat
ri
buí
doàv
ari
ável

Ut
il
izaçãoGenér
icadaVar
iáv
elObj
ect
o

Aut
il
i
zaçãogenér
icadot
ipoObj
ect
oser
vepar
asupor
tarqual
quert
ipodeobj
ect
oExcel(
Wor
kBook,
Wor
kSheet
,Range,
…)

Exempl
o:

Di
m Range_1asObj
ectRange_1=Wor
ksheet
(1)
.Range(
“A1”
)Range_1.
Val
ue=10

Ut
il
izaçãoEspeci
f
icadaVar
iáv
elObj
ect
o

Ut
il
iza-
seot
ipoexact
odoobj
ect
oquesepr
etendeat
ri
bui
ràv
ari
ável
.Esset
ipoespeci
f
icodeobj
ect
oscoi
nci
decom onome
dosobj
ect
osem EXCEL.

Di
m Range_1AsRangeDi
m WB_1AsWor
kbookDi
m WS_1AsWor
kSheetDi
m XLAsApl
i
cat
iv
o

Exempl
o:

Di
m Range_1asRangeRange_1=Wor
ksheet
(1)
.Range(
“A1”
)Range_1.
Val
ue=10

Cont
udoest
asdecl
araçõest
ambém podem serf
ei
tasdasegui
ntef
ormagenér
ica:

Di
m Range_1AsObj
ectDi
m WB_1AsObj
ectDi
m WS_1AsObj
ectDi
m XLAsObj
ect

Ent
ãoqualoi
nter
essededef
i
nirasv
ari
ávei
sdef
ormaespeci
f
icaseopodemosf
azerdef
ormagenér
ica?

Porumaquest
ãodeper
for
mance,seut
il
i
zarum obj
ect
ogenér
ico,oVBAant
esdeexecut
arqual
querf
unçãocom oobj
ect
o
t
em quepr
imei
rament
eoi
dent
if
icar(
per
dendot
empo)–em subr
oti
nassi
mpl
esessadi
f
erençanãoésubst
anci
almasquando
set
rat
adegr
andessubr
oti
nasj
ásedenot
am di
f
erençassi
gni
f
icat
iv
as.

Adecl
araçãodev
ari
ávei
séopci
onal
,seasv
ari
ávei
snãof
orem decl
aradasoVBAf
azasuadecl
araçãopordef
eit
o.Assi
m
sempr
equeai
nst
ruçãodoDi
m éomi
ti
dapar
aumav
ari
ável
,essaassumeot
ipoVar
iant
.

OsPr
óseCont
rasdaUt
il
i
zaçãodot
ipoVar
iant
s

PRÓS•
Dimi
nuionúmer
odel
i
nhasdecódi
go


Nãoénecessár
ioest
arpr
eocupadoseav
ari
ávelest
áounãodecl
aradapor
queoVBAaut
omat
icament
eof
az


Aument
aot
empodeexecução–oVBApr
imei
ropr
eci
sader
econhecerot
ipodedadoscom osquai
sest
áat
rabal
har
.


Est
eti
podedadosconsomemai
smemór
ia(
umav
ezquet
em queal
ocarespaçopar
aqual
quert
ipodedadosquel
hesej
a
at
ri
buí
do)–16byt
esmai
sum byt
eporcar
act
eresef
orSt
ri
ng=>pr
obl
emasdeper
for
mancepar
asubr
oti
nasgr
andes.


Nãoépossí
velsaberot
ipodedadosqueumadet
ermi
nadav
ari
ávelcont
ém –di
f
icul
tandoadet
ecçãodeer
ros.

Var
iáv
eis–Decl
araçãoFor
çada

Par
aqueoVBAdet
ect
eum er
rosempr
equeumav
ari
ávelnãosej
adecl
aradadev
eráf
azer
:•Tool
s/Opt
ions


Edi
torTab•
Act
iv
arRequi
reVar
iabl
eDecl
arat
ion

Ouent
ão,escr
evernoi
níci
odecadamódul
oOpt
ionExpl
i
cit

Nest
ecasosempr
equesej
adet
ect
adaumav
ari
ávelqueai
ndanãof
oidecl
aradadáumamensagem deer
ro-Var
iabl
eNot
Def
i
ned

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 15/20
28/01/13 Criando Macros VBA no Excel
Def
i
niçãodoTi
poApr
imei
raf
aseéconst
it
uídapel
adef
i
niçãodot
ipo:

TypeDados_Pessoai
s

NomeAsSt
ri
ngI
dadeAsI
ntegerDat
aNasci
ment
oAsDat
eBIAsLongEndType

Cr
iou-
seum t
ipodedadosquer
epr
esent
aumaest
rut
uracom dadosdedi
f
erent
est
ipos.Est
adef
i
niçãodev
eráocor
rerno
i
níci
odomódul
oVBA.

Onde:

TypePal
avr
a-Chav
equei
ndi
caadef
i
niçãodeum t
ipodedadoscr
iadopel
out
il
izador
.

Dados_Pessoai
sNomeat
ri
buí
doaot
ipodedados.NomeAsSt
ri
ngPr
imei
roel
ement
odaest
rut
uradedadosdef
i
nida.I
dadeAs
I
nteger
Segundoel
ement
odaest
rut
uradedadosdef
i
nida.Dat
aNasci
ment
oAsDat
eTer
cei
roel
ement
odaest
rut
uradedados
def
i
nida.BIAsLongQuar
toel
ement
odaest
rut
uradedadosdef
i
nida.

EndTypePal
avr
a-Chav
equei
ndi
caof
i
m dadef
i
niçãodaest
rut
uradedados.

Ut
il
izaçãodasEst
rut
urasdeDados

Comout
il
i
zarasest
rut
urasdedados:SubTi
pos_def
i
nidos_Ut
il
izador
()

Di
m PessoaAsDados_Pessoai
s

Pessoa.
Nome=“
Franci
sco”Pessoa.
Dat
aNasci
ment
o=#8/
7/73#Pessoa.
Idade=Wor
ksheet
Funct
ion.
Year
(Dat
e)_–
Wor
ksheet
Funct
ion.
Year
(Pessoa.
Dat
aNasci
ment
o)Pessoa.
BI=103582915

MsgBox5Pessoa.
Nome&Chr
(13)&“
,Idade“&Pessoa.
Idade&Chr
(13)&_“
,Dat
adeNasci
ment
o”&
Pessoa.
Dat
aNasci
ment
o&Chr
(13)&_“
,com oBInúmer
o“_&Pessoa.
BI

EndSub

O queéum Ar
ray?

Um Ar
rayéumav
ari
ávelquer
epr
esent
aum conj
unt
odev
ari
ávei
sdomesmot
ipo.OsAr
rayspodem sermul
ti
-di
mensi
onai
s,
ondet
odasasdi
mensõessãoi
ndexadasnumer
icament
e.

5Vercapí
tul
oInput
BoxeMsgBox

Um ar
rayuni
-di
mensi
onaléconst
it
uídoporumaúni
cal
i
stadeel
ement
osi
ndexáv
eis.Est
ali
stat
em um el
ement
oini
cialeum
out
rof
i
nalsendoqueacadael
ement
odal
i
stacor
respondeum úni
coí
ndi
ce,t
raduçãodol
ugarqueocupanal
i
sta,queo
i
dent
if
icauni
vocament
e.

Um ar
raybi
-di
mensi
onaléum poucomai
scompl
exoeéconst
it
uídoporum conj
unt
odel
i
stasdomesmocompr
iment
o,est
e
f
ormat
oénor
mal
ment
econheci
docomoar
rayoumat
ri
z.Épor
tant
oconst
it
uídaporl
i
nhasecol
unasecadael
ement

i
dent
if
icadoporum í
ndi
cecompost
opel
aint
ercepçãodosnúmer
osdal
i
nhaedacol
una.

Decl
araçãodeum ar
ray

Di
m Ar
rayNumer
ico(
10)AsI
nteger

Ar
ray_Numer
icoéonomedav
ari
ávelar
ray,onúmer
oent
repar
ênt
esi
sindi
caonúmer
odeel
ement
osqueoar
raypode
ar
mazenar
,ist

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 16/20
28/01/13 Criando Macros VBA no Excel

Em quecadael
ement
oédot
ipoI
nteger
.

Di
m Tabel
a_Text
ual(
5,4)AsSt
ri
ng

Tabel
a_t
ext
ualéonomedav
ari
ável
,osnúmer
oent
repar
ênt
esi
sindi
cam queat
abel
air
áter5l
i
nhase4col
unas,podendo
assi
m ar
mazenar20el
ement
osdot
ipoSt
ri
ng.

Ut
il
izaçãodeum Ar
ray

PARAACEDERAO ELEMENTO <Nome_do_Ar


ray>(
<Indi
ce1_do_El
ement
o>[
,<I
ndi
ce2_do_El
ement
o>,
…])

ATRI
BUI
ÇÃO DEVALORES<Nome_do_Ar
ray>(
<Indi
ce1_do_El
ement
o>[
,<I
ndi
ce2_do_El
ement
o>,
…])=<Val
or>

Exempl
o1:

SubPaí
ses(
)Di
m Paí
ses(
3)AsSt
ri
ng

Paí
ses(
0)="
Por
tugal
"Paí
ses(
1)="
Brasi
l
"Paí
ses(
2)="
Moçambi
que"

MsgBox"
Paí
sesAr
mazenados:
"&Chr
(13)&Paí
ses(
0)&Chr
(13)&Paí
ses(
1)&_Chr
(13)&Paí
ses(
2)

EndSub

Apósaat
ri
bui
çãodev
alor
esacadael
ement
odoar
ray,est
epassaat
erocont
eúdosegui
nte:Paí
ses

Por
tugal0Br
asi
l1Moçambi
que2

Val
orest
esqueser
ãoexi
bidosat
rav
ésdaMsgBox.

Exempl
o2:

Opt
ionBase1SubUt
il
izacao_Ar
ray(
)

Di
m Lot
ari
a(3)AsI
nteger

Lot
ari
a(1)
=int
(10000*
Rnd(
))Lot
ari
a(2)
=int
(10000*
Rnd(
))Lot
ari
a(3)
=int
(10000*
Rnd(
))MsgBox“
Númer
osdal
otar
ia:”&Lot
ari
a(1)
&“
,“&Lot
ari
a(2)&“
,“&_Lot
ari
a(3)

EndSub

Opt
ionBaseeAr
rayBounds

Ai
ndexaçãodeum ar
raypordef
eit
otem i
nici
oem 0,sendoqueosr
espect
iv
osí
ndi
cesv
ãode0adi
mensão-
1.Par
aal
ter
ara
basedei
ndexaçãoporf
ormaat
eri
nici
oem 1bast
acol
ocarnoi
nici
odomódul
oOpt
ionBase1

Cont
udosepr
etenderqueum ar
raycomecenout
ronúmer
oquenãosej
a0ou1,énecessár
ioespeci
f
icarosl
i
mit
esi
nfer
iore
super
iordoí
ndi
ceaquandodadecl
araçãodoar
ray.

Exempl
o:

SubUt
il
izacao_Ar
ray(
)

Di
m Lot
ari
a(4To5)AsI
nteger

Lot
ari
a(4)
=int
(10000*
Rnd(
))Lot
ari
a(5)
=int
(10000*
Rnd(
))MsgBox“
Númer
osdal
otar
ia:”&Lot
ari
a(4)&“
,“&Lot
ari
a(5)EndSub

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 17/20
28/01/13 Criando Macros VBA no Excel
Const
ant
esConst
ant
esConst
ant
esConst
ant
es

Const
ant
essãov
alor
esquenãoal
ter
am dur
ant
eaexecuçãodeumar
oti
na.Sãodecl
aradasdamesmaf
ormaqueas
v
ari
ávei
s,aúni
cadi
f
erençar
esi
denof
act
odaat
ri
bui
çãoserf
eit
anamesmai
nst
ruçãodadecl
aração,esópoderserf
eit
auma
úni
cav
ez.

Const<Nome_Const
ant
e>As<Ti
po>=<Val
or>Const<Nome_Const
ant
e>As<Ti
po>=<Expr
essãodecál
cul
o>

Fi
gur
a23–Manuseament
odeConst
ant
es

I
nput
BoxeMsgBoxI
nput
BoxeMsgBoxI
nput
BoxeMsgBoxI
nput
BoxeMsgBox

Par
ahav
eri
nter
acçãoent
reout
il
izadoreumamacr
ooupr
ogr
amaénecessár
ioqueexi
staum i
nter
facedecomuni
cação.
Est
epoder
ásermai
soumenoscompl
exoecompl
eto,cont
udoexi
stem doi
sel
ement
osbási
cospar
aest
abel
ecerest
a
l
i
gação:I
nput
BoxeMsgBox.

Nest
econt
ext
oaI
nput
Boxéumaf
unçãoqueper
mit
eaout
il
izadori
ntr
oduzi
rdadosnopr
ogr
ama–épor
tant
oum mecani
smo
dei
nput
.O MsgBoxéum mecani
smodeOut
puteper
mit
eaout
il
izadorv
isual
i
zarosdadospr
oduzi
dospel
opr
ogr
ama.

O quef
az…

1.
Exi
benoécr
anumaj
anel
acom umacai
xa–t
extbox–par
aai
nser
çãodedados.2.
Esper
aqueout
il
izadori
ntr
oduzaos
dadose/
ouacci
oneum dosbot
ões.

3.
Comoéumaf
unçãopr
oduzum v
alorf
i
nal
.Est
econsi
stenosdadosi
nser
idospel
out
il
izadornaf
ormat
ext
ual-St
ri
ng.

Si
ntaxe

I
nput
Box(
prompt
[,t
it
le][
,def
aul
t][
,xpos][
,ypos][
,hel
pfi
l
e,cont
ext
])

Numapr
imei
raav
ali
açãodaf
unção,pode-
sedi
zerqueamesmapossuidi
ver
sospar
âmet
ros,massoment
eopr
imei
roé
obr
igat
óri
o,sendoquet
odososout
rosquandoi
gnor
adosassumem v
alor
esat
ri
buí
dospordef
eit
o.

Par
âmet
rosPar
âmet
roComent
ári
o

Pr
ompt(
Obr
igat
óri
o)

Expr
essãot
ext
ualexi
bidacomomensagem naj
anel
adei
nput
.Adi
mensãomáxi
maéde1024car
act
eres.Sesepr
etender
const
rui
rumamensagem com mai
sdoqueumal
i
nhapoder
áut
il
izarocar
act
ereEnt
er-Chr
(13)
.Aj
unçãodosel
ement
osque
const
it
uem amensagem ér
eal
i
zadaat
rav
ésdooper
ador&.

Exempl
o:"
ASomade3com 5é:
"&Chr
(13)&"8"

Ti
tl
e(Facul
tat
iv
o)

Ti
tul
odaj
anel
adei
nput
.Seest
eforomi
ti
do,apar
ecer
ápordef
ei
toonomedaapl
i
cação.

Def
aul
t(
Facul
tat
iv
o)

Expr
essãoi
nser
idapordef
ei
tonacai
xadei
nser
çãodedadoseconst
it
uir
áar
espost
apordef
ei
toseout
il
izadornãoi
ntr
oduzi
r
out
ra.Seest
epar
âmet
rof
oromi
ti
doapar
ecer
áumat
extboxv
azi
a.

Xpos(
Facul
tat
iv
o)

Númer
oquei
dent
if
icaadi
stânci
ahor
izont
alent
reol
adoesquer
dodoécr
aneaj
anel
adei
nput
.Seest
eval
orf
oromi
ti
doa
j
anel
aapar
ecer
ácent
radahor
izont
alment
e.

Ypos(
Facul
tat
iv
o)

Númer
oquei
dent
if
icaadi
stânci
aver
ti
calent
reol
adosuper
iordoécr
aneaj
anel
adei
nput
.Seest
eval
orf
oromi
ti
doaj
anel
a
f
i
car
áposi
cionadaa1/
3dapar
tei
nfer
iordoécr
an

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 18/20
28/01/13 Criando Macros VBA no Excel
Hel
pFi
l
e(Facul
tat
iv
o)

Nomedof
i
chei
rodeHel
pqueser
áut
il
izadopar
adarapoi
oaopr
eenchi
ment
odest
ajanel
a.Sef
ori
ndi
cadoest
epar
âmet
roo
segui
nteéobr
igat
óri
o.

Cont
ext
(Facul
tat
iv
o)

Númer
odoí
ndi
cedot
ópi
codeHel
pconst
ant
enof
i
chei
roHel
pFi
l
e,equecor
respondeàj
anel
aem quest
ão.

At
enção:Sepr
etenderenv
iarmai
squeum par
âmet
roopt
ati
vor
espei
teaor
dem at
rav
ésde“
,”(
vi
rgul
as)

Exempl
o:

I
nput
Box(
“I
ntr
oduzaoNomedaApl
i
cação:
”,,“
Excel
”)

Naj
anel
adei
nputser
áexi
bi
daamensagem “
Int
roduzaoNomedaApl
i
cação:
”,ot
ít
ulodacai
xaser
áodef
i
nidopordef
eit
oeo
v
alornacai
xadei
nser
çãoser
á“Excel
”.

1.
Exi
benoécr
anumaj
anel
acom umamensagem.2.
Esper
aqueout
il
izadoracci
oneum dosbot
ões.

3.
Comoéumaf
unçãopr
oduzum v
alorf
i
nal
.Dev
olv
eum númer
oint
eir
oindi
candoobot
ãoquef
oicl
i
cado.

Si
ntaxe

MsgBox(
prompt
[,but
tons][
,ti
tl
e][
,hel
pfi
l
e,cont
ext
])

Àsemel
hançadaI
nput
Box,pode-
sedi
zerqueamesmapossuidi
ver
sospar
âmet
ros,massoment
eopr
imei
roéobr
igat
óri
o,
sendoquet
odososout
rosquandoi
gnor
adosassumem v
alor
esat
ri
buí
dospordef
eit
o.

Par
âmet
ros

Par
âmet
roComent
ári
o

Pr
ompt(
Obr
igat
óri
o)

Expr
essãot
ext
ualexi
bidacomomensagem naj
anel
adei
nput
.Adi
mensãomáxi
maéde1024car
act
eres.Sesepr
etender
const
rui
rumamensagem com mai
sdoqueumal
i
nhapoder
áut
il
izarocar
act
ereEnt
erChr
(13)

Exempl
o:"
ASomade3com 5é:
"&Chr
(13)&"8"

But
tons(
Facul
tat
iv
o)

Númer
oquei
dent
if
icaot
ipodebot
õesquesepr
etendev
isual
i
zarnaj
anel
adeout
put
.Vert
abel
asegui
nte.Sef
oromi
ti
do
assumi
ráov
alor0pordef
eit
o.

Ti
tl
e(Facul
tat
iv
o)

Ti
tul
odaj
anel
adei
nput
.Seest
eforomi
ti
do,apar
ecer
ápordef
ei
toonomedaapl
i
cação.

Hel
pFi
l
e(Facul
tat
iv
o)

Nomedof
i
chei
rodeHel
pqueser
áut
il
izadopar
adarapoi
oaopr
eenchi
ment
odest
ajanel
a.Sef
ori
ndi
cadoest
epar
âmet
roo
segui
nteéobr
igat
óri
o.

Cont
ext
(Facul
tat
iv
o)

Númer
odoí
ndi
cedot
ópi
codeHel
pconst
ant
enof
i
chei
roHel
pFi
l
e,equecor
respondeàj
anel
aem quest
ão.

Coment
ári
os

Sobre o Ebah: Cursos: Fique ligado:


Pesquisar…

O queéoEbah? Agr
ári
as
Al
gunsdi
rei
tosr
eser
vados.
O Ebahéumar
edesoci
aldedi
cadaexcl
usi
vament
eao Aj
ude-
nosamel
hor
ar Ar
tes
© 2006-
2013
campoacadêmi
coet
em comopr
inci
palobj
eti
voo

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 19/20
28/01/13 Criando Macros VBA no Excel
compar
ti
lhament
odei
nfor
maçãoemat
eri
aisent
real
unos I
mpr
ensa Bi
ológi
cas
epr
ofessor
es. Di
rei
tosAut
orai
s Engenhar
ias
Sai
bamai
s» Ter
mosePr
iv
aci
dade Exat
as
Tr
abal
henoEbah HumanaseSoci
ais

www.ebah.com.br/content/ABAAAAOKAAD/criando-macros-vba-no-excel 20/20

Você também pode gostar