Relação de Comandos VBA Função
Forma de aplicação
Macro
Abs
x = Abs(-20) Abs(-20)
Teste15
Activate
!eets("#lan2$")%Activate !eets("#lan2$")%Activate
Teste1&
ActiveCell%Ros("1>1")%nti+eRo ActiveCell%Ros("1>1")%nti+eRo ActiveCell%Ros("1>1")%nti+eRo ActiveCell%Ros("1>1")%nti+eRo%% %elect elect
Active!eet%*ame Active!eet%*ame
Va+iavel Va+iavel = Active!eet%*ame Active!eet%*ame
And
7: Condição 10 And Condição 15 T!en "xec4te as se34intes inst+4ç?es" nd 7:
A'lication%is'la.Ale+ts A'lication%is'la.Ale+ts
A'lication%is'la.Ale+ts A'lication%is'la.Ale+ts = /alse
A''lication%nableCancele. A''lication%nableCancele.
A''lication%nableCancele. A''lication%nableCancele. = xlisabled
A''lication%c+een'datin3 A''lication%c+een'datin3
A''lication%c+een'datin A''lication%c+een'datin3 3= /alse
A4toClose
4b A4toClose()
1
Descrição
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo +eto+na o valo+ absol4to do n4me+o% *o exem'lo ao lado; +eto+na o n4me+o 20 Ativa a 'lanil!a "#lan2"%
Teste
A inst+4ção inst+4ção seleciona a 8in!a 7ntei+a 7ntei+a onde o c4+so+ estive+% #ode-se ac+escenta+ inst+4ç?es; colocando-se 4m 'onto a'@s a :4nção; como 'o+ exem'lo> ActiveCell%nti+eRo% ActiveCell%nti+eRo%elete; elete; Clea+; Clea+; Clea+Comments; Clea+Comments; Clea+Contentes; Clea+Contentes; Clea+/o+mat; etc%
Teste1
T+ad4ção% Active!eet = #lanil!a Ativa A+ma9ena na va+iavel "Va+iavel" "Va+iavel" o nome da 'lanil!a ativa%
Teste,0
#ode 4tili9a+ a condição And 4ntamente 4ntamente com a inst+4ção 7/; <4ando se <4e+ <4e a condição sea atendida sim4ltaneamente 'elas d4as condiç?es% *o exem'lo ao lado; o n4me+o deve se+ maio+ <4e 10 e ao mesmo tem'o meno+ <4e 15%
Teste20
*este exem'lo; cancelamos a a'+esentação de mensa3ens de se34+ança <4ando 'o+ exem'lo :ec!amos 4m a+<4ivo <4e ainda não :oi salvo% #ode se+ /alse o4 T+4e inst+4ção <4e im'ede <4e a mac+o sea inte++om'ida <4ando se '+essionada "C" o4 "CTR8DB+eaE"% eve se+ inse+ida no inicio da +otina%
Teste,1
sta inst+4ção im'ede <4e a tela sea exibida <4ando 4ma mac+o F exec4tada; 'e+mitindo <4e a mac+o sea exec4tada mais +a'idamente%
A4toClose
sta mac+o; A4toClose; A4toClose; se+a a4tomaticamente exec4tada antes <4e a 'lanil!a sea ence++ada% Caso não <4ei+a <4e ela sea exec4tada; exec4tada; manten!a a tecla G7/T '+essionada ao :ec!a+ a 'lanil!a%
A4to6'en
sta mac+o; A4to6'en; se+a a4tomaticamente exec4tada ao se ab+i+ a 'lanil!a% Caso não <4ei+a <4e ela sea exec4tada; manten!a a tecla G7/T '+essionada ao ca++e3a+ a 'lanil!a% ent+o da mac+o; Recalc4la somente a 'lanil!a ativa (1H xem'lo); o4 a #lanil!a s'eci:ica (2H exem'lo); o4 ainda a A+ea elecionada (H exem'lo); desde <4e o'ção Recalc4lo estea no modo I an4al%
A4to6'en
4b A4to6'en ()
Calc4late
Active!eet%Calc4late Active!eet%Calc4late o+ !eets("#lan1")%Calc4late o+ Ran3e("A1>A20")%Calc4late
Teste,2
Ca'tion
ActiveJindo%Ca'tion ActiveJindo%Ca'tion = "IAR* CAR66"
Teste21
CBool
Va+iavel = CBool(st+in3)
CB.te
Va+iavel = CB.te(st+in3)
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma o ti'o de va+iavel contida na st+in3 'a+a a va+iavel B.te
CC4+
Va+iavel = CB.te(st+in3)
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma o ti'o de va+iavel contida na st+in3 'a+a a va+iavel C4++enc. (moeda)%
Cate
Va+iavel = CB.te(st+in3)
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma o ti'o de va+iavel contida na st+in3 'a+a a va+iavel ata; no :o+mato B+asilei+o (ddKmmKaa)%
Cbl
Va+iavel = CB.te(st+in3)
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma o ti'o de va+iavel contida na st+in3 'a+a a va+iavel o4ble
Cec
Va+iavel = CB.te(st+in3)
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma o ti'o de va+iavel contida na st+in3 'a+a a va+iavel ecimal
C7nt
Va+iavel = CB.te(st+in3)
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma o ti'o de va+iavel contida na st+in3 'a+a a va+iavel 7nte3e+
C8n3
Va+iavel = CB.te(st+in3)
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma o ti'o de va+iavel contida na st+in3 'a+a a va+iavel 8on3
Cos
x = Cos(0)
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo +eto+na +eto+na Reto+na o cosseno do Ln34lo dado%ComentM+ios
Cn3
Va+iavel = CB.te(st+in3)
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma o ti'o de va+iavel contida na st+in3 'a+a a va+iavel in3le
Ct+
Va+iavel = CB.te(st+in3)
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma o ti'o de va+iavel contida na st+in3 'a+a a va+iavel t+in3
CVa+
Va+iavel = CB.te(st+in3)
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma o ti'o de va+iavel contida na st+in3 'a+a a va+iavel Va+iant
*este exem'lo; alte+amos o nome da #asta de t+abal!o 'a+a "IAR* CAR66" a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma o ti'o de va+iavel contida na st+in3 'a+a a va+iavel Boleana%
Relação de Comandos VBA
atant+.Iode
A''lication%atant+.Io A''lication%atant+.Iode de = xl6n
Teste,,
sta :4nção 'e+mite blo<4ea+ o seleção de cel4las na 'lanil!a% Tem va+iaveis> xl6n <4e im'ede a seleção; mas caso sea '+essionado C aceita% xlt+ict im'edi; mesmo <4ando o C F '+essionado% xl6:: libe+a; 'e+mitindo <4e <4al<4e+ cel4la sea selecionada% *o caso do Olt+ict; <4ando se m4da de 'lanil!a e +eto+na a ante+io+; as cel4las :icam libe+adas%
im
im Valo+ as st+in3
Teste,5
tili9ada 'a+a decla+a+ va+iaveis <4e se+ão 4tili9adas dent+o do #+ocedimento%
o; ntil; 8oo'
o ntil x = 10 "xec4te as se34intes int+4ç?es" 8oo'
sta :4nção F o cont+a+io da /4nção o J!ile; 8oo'; 'ois dete+mina <4e a condição sea exec4tada en<4anto a condição :o+ :alsa%
o; J!ile; 8oo'
o J!ile x 10 "xec4te as se34intes int+4ç?es" 8oo'
tili9a-se a inst+4ção o J!ile; 8oo' (<4e si3ni:ica "xec4te en<4anto a condição :o+ ve+dadei+a$); <4ando se <4e+ +e'eti+ dete+minada inst+4ção en<4ando a condição :o+ ve+dadei+a% *o xem'lo ao l ado; at+ib4i-se a va+iavel "x" 4m valo+ e en<4anto este valo+ :o+ meno+ <4e "10" a inst+4ção e +e'etida (:ica n4m loo'in3 sem :im)% ent+o da inst+4ção; deve-se modi:ica+ o valo+ de "x"; 'ois ao :inal de cada inst+4ção; o "8oo'" a manda volta+ ao inicio e exec4ta+ novamente% novamente%
lse
7: Condição T!en "xec4te as s e34intes inst+4ç?es" lse "Caso a condição acima não sea atendida; exec4te o se34inte>" nd 7:
lse7:
7: Condição T!en "xec4te as s e34intes inst+4ç?es" lse7: Condição T!en "xec4te as s e34intes inst+4ç?es" lse "Caso as condiç?es acima não seam atendidas; exec4te o se34inte>" nd 7:
Teste20
7nst+4ção condicional; condicional; 4tili9ada em con4nto com a inst+4ção 7:; si3ni:icando 4ma alte+nativa a se+ se34ida caso a condição não sea atendida%
Teste,N
#ode-se 4tili9a+ a Condição 7:; 4ntamente com lse7:; lse e nd 7:% *este caso; a condição 7: e T!en devem esta+ na mesma lin!a e a inst+4ção a se+ exec4tada na lin!a se34inte% Pa a condição lse7: deve te+ a condição e inst+4ção na mesma lin!a% #o+ 4ltimo 4tili9a-se o lse como alte+nativa caso nen!4ma alte+nativa ante+io+ ten!a sido atendida%
ventos #asta T+abal!o
#ode se+ 4tili9ado 'a+a c+ia+ 4ma +otina <4e sea exec4tada <4ando <4ando a #lanil!a (#lan1; #lan2; %%%) estive+ ativa% *o dito+ do VB; elecione "sta 'asta de T+abal!o"; T+abal!o"; em se34ida cli cE em xibi+; Codi3o% Codi3o% o lado es<4e+do da Caixa de eleção; escol!a "Jo+EbooE"; do lado di+eito; tem dive+sos eventos <4e 'odem se+ 4tili9ados; como 'o+ exem'lo> Activate (<4ando a 'lanil!a F ca++e3ada); 6'en (<4ando a 'lanil!a F abe+ta); !eetBe:o+eo4bleClicE !eetBe:o+eo4bleClicE (<4ando o d4'lo clicE F acionado); e m4itas o4t+as%
ventos #lanil!a
#ode se+ 4tili9ado 'a+a c+ia+ 4ma +otina <4e sea exec4tada <4ando a #asta de T+abal!o estive+ ativa% *o dito+ do VB; elecione a #lanil!a <4e desea% m se34ida clicE em xibi+; Codi3o% o lado es<4e+do da Caixa de eleção; escol!a "Jo+E!eet"; do lado di+eito; tem dive+sos eventos <4e 'odem se+ 4tili9ados; como 'o+ exem'lo> Activate (<4ando (<4ando a "#lan" estive+ ativa); Be:o+eo4bleClicE Be:o+eo4bleClicE (<4ando o d4'lo clicE F acionado); e m4itas o4t+as%
xit 4b
xit 4b
Teste1
7nte++om'e 4tili9ada 'a+a in:o+ma+ <4e a +otina te+mino4%
/o+; *ext
/o+ x = 1 To 10 ActiveCell%6::set(0; 0) = "IAR* CAR66" ActiveCell%6::set(1; ActiveCell%6::set(1; 0)%elect *ext
Teste22
tili9a-se a /4nção /o+; *ext <4ando se <4e+ +e'eti+ dete+minada ação 'o+ 4m dete+minado n4me+o de ve9es% *o exem'lo ao lado; a inst+4ção /o+ O = 1 to 10 dete+mina <4e a inst+4ção sea +e'etida 10 ve9es% A inst+4ção se34inte> ActiveCell%6::set(0;0) ActiveCell%6::set(0;0) = %%%% si3ni:ica; <4e na Cel4la ativa se+a colocado a in:o+mação "IAR* CAR66"% *a inst+4ção se34inte> ActiveCell%6::set(1;0)%elect; ActiveCell%6::set(1;0)%elect; dete+mina dete+mina <4e a cel4la imediatamente abaixo sea selecionada% *a inst+4ção :inal *ext; dete+mina <4e a va+iavel "x" sea ac+escido de 1 e sea +eexec4tado as condiç?es%
/4ll*ame
Va+iavel Va+iavel = Jo+EbooEs ("*ome do A+<4ivo%xls")%/4ll*ame A+<4ivo%xls")%/4ll*ame
Teste2
*o exem'lo ao lado; a :4nçao /4ll*ame a+ma9ena na Va+iavel o ende+eço com'leto onde o a+<4ivo esta 3+avado% Valido 'a+a a 'astas abe+tas%
7:
7: Condição T!en "xec4te as s e34intes inst+4ç?es" nd 7:
Teste,N
7nst+4ção condicional; 4tili9ada sem'+e em con4nto com as inst+4ç?es> "T!en e nd 7:"% 7: si3ni:ica a condição "e"% "T!en" si3ni:ica "ntão" e "nd 7:" si3ni:ica :im da condição% #ode-se ainda 4tili9a+ 4ma condição 7/ T!en dent+o de o4t+a condição 7: T!en%
2
Relação de Comandos VBA
7n'4tBox
scola = 7n'4tBox ("i3ite o nome da scola")
Teste25
#e+mite <4e se a+ma9ena na va+iavel "scola" o nome <4e voce di3ita+% 4+ante o '+ocessamento da Iac+o; se+a :eito a 'e+34nta "i3ite o nome da scola"; se+vindo 'a+a se+ 4tili9ado 'oste+io+mente% S necessa+io a+ma9ena+ a in:o+mação em 4ma va+iavel (vide modelo) e o texto deve esta+ ent+e 'a+enteses e as'as%
7nt
Va+iavel = 7nt(10%Q)
Teste50
A++edonda 4m 4m nme+o 'a+a baixo baixo atF o nme+o intei+o mais '+@ximo% S im'o+tante lemb+a+ <4e a :+ação 'a+a o excel F com "%" e não com ";"%
8Case
Va+iavel = 8Case('alav+a)
Teste2&
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma todos os ca+acte+es em min4sc4los%
Case
Va+iavel = Case("IAR* CAR66")
Teste2Q
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo t+ans:o+ma todos os ca+acte+es em mai4sc4los%
8en
Va+iavel = 8en("IAR* CAR66")
Teste51
8o3
Va+iavel = 8o3(10)
Teste52
8T+im
Va+iavel = 8T+im(" IAR* CAR66 ")
Teste5
Is3Box
Is3Box "IAR* CAR66% C4+sos 7ntensivos com 4alidade"
Teste20
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo conta <4antos ca+acte+es tem a 'alav+a o4 sentença% Reto+na o lo3a+itmo de 4m nme+o de 4ma base es'eci:icada% a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo +emove es'aços em b+anco no inicio (es<4e+da) da 'alav+a o4 sentença% sta inst+4ção c+ia 4ma mensa3em; com o texto contido ent+e as as'as; dent+o de 4ma caixa% #a+a se34i+ adiante; deve-se clica+ no "6"%
6'tion x'licit
6'tion x'licit
sta :4nção; di3itada na seção de ecla+aç?es; ob+i3a <4e toda va+iavel sea decla+ada% Vale dent+o do Iod4lo em <4e a mac+o :o+ c+iada% #a+a ob+i3a+ <4e todos os mod4los a4tomaticamente conten!am a inst+4ção "6'tion x'licit"; elecione> /e++amentas; 6'ç?es; dito+; Re<4e+e+ ecla+ação de Va+iavel%
6+
7: Condição = "IAR*" 6+ Condição = "TT" T!en "xec4te as se34intes inst+4ç?es" nd 7:
#ode 4tili9a+ a condição 6+ 4ntamente com a i nst+4ção 7/; <4ando se <4e+ <4e a condição atenda 4ma condição o4 o4t+a; não sendo necessM+io atende+ as d4as ao mesmo tem'o% *o exem'lo exem'lo ao lado; 'ode se+ "IAR*" o4 "TT"% Vale lemb+a+ <4e <4ando a condição :o+ Texto; deve esta+ ent+e "as'as"
Teste5,
#+ivate Valo+ as C4++enc.
tili9ada 'a+a decla+a+ va+iaveis <4e se+ão 4tili9adas dent+o do Iod4lo onde elas estão 3+avadas e devem se+ 3+avadas no inicio do Iod4lo% esta :o+ma; as va+iaveis c+iadas at+aves do "#+ivate" não '+ecisam se+ decla+adas no inicio da Iac+o%
4it
A''lication%4it
Teste20
/ec!a o sistema% *o caso de al34ma 'asta não tive+ sido salva; a'+esenta a o'ção de salva-la% #a+a desli3a+ este ale+ta; deve-se 4tili9a+ o se34inte comando antes > A''lication%is'la.Ale+ts A''lication%is'la.Ale+ts = /alse; <4e desli3a a se34+ança do xel%
RT+im
Va+iavel = RT+im(" IAR* CAR66 ")
Teste55
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo +emove es'aços em b+anco no te+mino (di+eita) da 'alav+a o4 sentença%
elect Case
elect Case Cons4lto+ia Case "IAR*" Is3Box"Cons4lto+ia Is3Box"Cons4lto+ia e TTs" Case "7n Cam'an." Is3Box "TTs sob medida" nd elect
election%/ont%*ame
election%/ont%*ame election%/ont%*ame = "Times *e Roman"
Teste5&
Alte lte+a a :onte 'a+a "Ti "Times *e Roman"
election%/ont%i9e
election%/ont%i9e = 1&
Teste5&
Alte+a o taman!o da :onte 'a+a 1&; na a+Fa selecionada%
et
et 6beto = Jo+Es!eets("xem'lo")%Ran3e(" A1")
A'@s decla+a+-se a Va+iavel Va+iavel como 6beto 6beto (im 6beto as 6bet); decla+a-se <4al o valo+ <4e a va+iavel tem; 4tili9ando-se a :4nção T% #a+a 9e+a+ o valo+ deve-se 4tili9a+ "et 6beto = *ot!in3"
'ace
Va+iavel Va+iavel = "#alav+a1" U 'ace(5) U "#alav+a2"
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo ac+escenta 5 es'aços em b+anco ent+e d4as 'alav+as%
t+in3
Va+iavel Va+iavel = "#alav+a" U t+in3(5; "-")
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo ac+escenta a "#alav+a" cinco !i:ens; +es4ltando em "#alav+a-----"%
t+Reve+se
Va+iavel = t t+Reve+se("Amo+")
Teste
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo inve+te a o+dem da 'alav+a; esc+evendo-a de t+a9 'a+a a :+ente; ca+acte+ 'o+ ca+acte+% xem'lo% #alav+a "Amo+"; +es4lta em "+omA"
T+im
Va+iavel = T+im(" IAR*")
TesteN
a+ma9ena-se na va+iavel o +es4ltado da :4nção; <4e neste exem'lo +emove es'aços em b+anco no inicio (es<4e+da)e no te+mino (di+eita) da 'alav+a o4 sentença%
#+ivate
tili9a-se elect Case da mesma :o+ma <4e 4tili9a-se 7:; lse7:; lse e nd 7:% *o exem'lo ao lado; 7nicia-se com a 7nst+4ção elect Case Cons4lto+ia *a inst+4ção se34inte> Case "IAR*"; o4 sea; caso Cons4lto+ia sea i34al a IAR*; então%%%% *a se<4encia; Caso 7n Cam'an. sea i34al a "TTs so medida" então%%% #a+a :inali9a+; 4tili9ase nd elect%
Relação de Comandos VBA Val4e
ActiveCell%Val4e = 150
*este exem'lo; t+ans:e+imos 'a+a a cel4la ativa o valo+ esti'4lado; 150%
vb6Cancel
7: Res'osta = vb6 T!en "xec4te as se34intes inst+4ç?es" lse xit 4b nd 7:
tili9a-se a inst+4ção inst+4ção "vb6Cancel" <4ando se <4e+ <4e+ decidi+ sob+e <4e ação toma+% 6'tando-se 'o+ 6 o4 Cancelando-se a ação%
Visible
#lan1%Visible = /alse
Teste10
Jindotate
A''lication%Jindotate A''lication%Jindotate = xlIaximi9ed
Teste11
Ro
Va+iavel = ActiveCell%Ro
Teste12
sta :4nção 'e+mite a+ma9ena+ na "Va+iavel" o ende+eço da lin!a% xec4te a mac+o nde+eço8in!a% Vea tambFm Iac+o 8ocali9a+nde+eço8in!a 8ocali9a+nde+eço8in!acol4na col4na
Col4mn
Va+iavel = ActiveCell%Col4mn
Teste1
sta :4nção 'e+mite a+ma9ena+ na "Va+iavel" o ende+eço da col4na xec4te a mac+o nde+eçoCol4na% Vea tambFm Iac+o 8ocali9a+nde+eço8in!a 8ocali9a+nde+eço8in!acol4na col4na
Ct+l D R /, Alt D /11 /11 ActiveCell ActiveJindo A' A''lication%R4n 4b ! !eets Ran3e election%Co'.
Va+iavel Va+iavel = ActiveCell
TesteQ
A''lication%R4n("Iac+o1") 4b Iac+o1 Ran3e("A1>G15")%elect
Teste,2
To+na a #lanil!a invisivel% T+4e to+na visivel% sta :4nção 'e+mite alte+a+ a a'+esentação da anela do a'licativo ativo% xlIaximi9ed Iaximi9a; xl*o+mal Resta4+a e xlIinimi9ed Iinimi9a%
Iost+a o #+oeto x'lo+e+% Iost+a a Panela de #+o'+iedades% Ab+e a anela anela de '+o3+amação '+o3+amação Cel4la Ativa; onde o c4+so esta% xec4ta+ 4ma mac+o; no exem'lo 4ma mac+o c!amada "Iac+o1"% 7nicia+ 4ma 4b +otina; denominada "4b Iac+o1" #lanil!a A+Fa da 'lanil!a Co'ia+ a a+ea seleciona+
election%nd(xlToRi3!t)%elect
eleciona+ da Cel4la At4al atF a 4ltima Cel4la '+eenc!ida a i+eita da Cel4la At4al%
election%nd(xlTo')%elect
eleciona+ da Cel4la At4al atF a 4ltima Cel4la '+eenc!ida acima da Cel4la At4al% eleciona+ da Cel4la At4al atF a 4ltima Cel4la '+eenc!ida abaixo da Cel4la At4al%
election%nd(xlToon)%elect election%nd(xlTo8e:t)%elect
eleciona+ da Cel4la At4al atF a 4ltima Cel4la '+eenc!ida a es<4e+da da Cel4la At4al%
ActiveCell%6::set(0;0)%select ActiveCell%6::set(0;0)%select
ste comando se+ve 'a+a seleciona+ cel4la+ a 'a+ti+ da cel4la at4al; sendo <4e o 1H valo+ dent+o dos 'a+enteses +e'+esenta a lin!a e o se34ndo valo+ +e'+esenta a col4na% e os nHs ent+e 'a+enteses :ossem 'o+ exem'lo (1;,); a Cel4la selecionada se+ia a cel4la locali9ada na lin!a de baixo da cel4la at4al; , col4nas a di+eita da cel4la at4al%% e os nHs :ossem ne3ativos; 'o+ exem'lo (-1;-2); a Cel4la selecionada se+ia a cel4la locali9ada na lin!a de cima da cel4la at4al; 2 col4nas a es<4e+da da cel4la at4al% T+ad4ção 'o+ 'alav+a% ActiveCell = Cel4la Ativa% 6::set = /o+a da eleção e % elect = eleciona+
election%*4mbe+/o+mat election%*4mbe+/o+mat = "W;WW0%00" T6A()
ActiveCell%/o+m4laR1C1 ActiveCell%/o+m4laR1C1 = "=T6A()"
Teste,&
election%Co'. !eets("#lan1")%elect Ran3e("A5")%elect Va+iavel = 7n'4tBox("4al 7n'4tBox(" 4al o se4 *omeX")
ste comando a+ma9ena na cel4la ativa; o conte4do da Va+iavel "ata"; no :o+mato de ata% T+ad4ção% Cdate = Conve+te+ 'a+a data%
ActiveCell%/o+m4laR1C1 ActiveCell%/o+m4laR1C1 = Cate(ata)
T+ad4ção% lse = enão - sta inst+4ção F 4tili9ada dent+o de 4ma inst+4ção condicional (7/)% xem'lo> 7: Va+iavel = 1 t!en nome = "IAR*" (e a Va+iavel :o+ = 1 a 1 então o nome de "IAR*%) lse nome = "Ia+celo" (e não :o+ i34al 1; então o nome F i34al a "Ia+celo"%)
lse
nd 7: Act Activ iveC eCel ell% l%n nti ti+e +eRo Ro %el %elec ectt
im Valo+ As o4ble
ste comando :o+mata a a+ea selecionada 'a+a o :o+mato contabil; sem imbolo de Ioeda; 'a+a d4as casas; com se'a+ado+ de mil!a+% ste comando coloca na cel4la ativa a data de !oe% 6 Comando Toda.() si3ni:ca a "data de Goe"% ste comando co'ia a a+ea selecionada% ste comando seleciona a #lanil!a "#lan1"% ste comando seleciona a Cel4la "A5"% ste comando a+ma9ena na Va+iavel o <4e :o+ di3itado na Caixa de ialo3o%
T+ad4ção - Te+mino da 7nst+4ção Condicional Acti Active veCe Cellll% %nt nti+ i+eR eRo o% %el elec ectt
Teste este
sta inst+4ção seleciona a lin!a intei+a onde o c4+so+ estive+ 'osicionado% Co++es'onde Co++es'onde a voce clica+ na 8et+a da Col4na% #o+ exem'lo na col4na "A"% T+ad4ção% im = dimensiona+; C+ia+; e:ini+ a Va+iavel% o4ble = e:ine a va+iavel como n4me+ica com d4as casas decimais%
,
Relação de Comandos VBA T+ad4ção% im = dimensiona+; C+ia+; e:ini+ a Va+iavel% ata = ata - e:ine a va+iavel como n4me+ica com d4as casas decimais%
im ata As ate
sta inst+4ção a+ma9ena na "Va+iavel" o conte4do da Cel4la locali9ada na mesma lin!a de onde o c4+so+ esta 'osicionado; d4as col4nas a di+eita%
Va+iavel = ActiveCell%6::set(0; ActiveCell%6::set(0; 2)
U
Teste&
T+ad4ção% Call = C!ama+ *este exem'lo; a inst+4ção si3ni:ica c!ama+ 4ma +otina exte+na; neste caso a Iac+o c!amada "Iac+o1"% S com4m; <4ando se tem 4ma +otina <4e F 4tili9ada em dive+sos a'licativos; não +e-esc+eve-la dent+o de todas os +otinas; mas "c!ama-la" a cada ve9 <4e se tem necessidade% necessidade% *este caso; a +otina contida em "Iac+o1" F exec4tada e a mac+o contin4a na lin!a de comando imediatamente abaixo%
Call Iac+o1
Clea+Contents
C4++entRe3ion%elect
T+ad4ção% T+ad4ção% U = "D" 6 U (e come+cial) F 4tili9ado <4ando se <4e+ concatena+ (soma+; 4nta+) dados% 7ma3ine <4e voce ten!a o *ome de 4ma 'essoa na Va+iavel "*om" e o ob+enome na Va+iavel "ob+" e <4ei+a A+ma9ena+ o nome com'leto na Cel4la "A1"% *este caso; 'ode+ia '+ocede+ da se34inte :o+ma> Ran3e("A1")%val4e Ran3e("A1")%val4e = *om U " " U ob+% Re'a+e <4e 4tili9e o "U" d4as ve9es e tambFm ""% 6 U :oi 'a+a "oma+" as d4as 'a+tes do nome; e os "" :o+am 'a+a inse+i+ 4m es'aço ent+e os nomes% As va+iaveis n4nca 'odem esta+ ent+e as'as; 'ois deixam de se+ va+iaveis%
T+ad4ção% Clea+Contentes = 8im'e o Conte4do% *este caso; a a+ea selecionada F lim'a%
election%Clea+Contents
T+ad4ção% C4++entRe3ion = Re3ião At4al% 7ma3ine <4e o c4+so+ esta selecionado em 4ma cel4la dent+o de 4m banco de dados de 1%000 lin!as 'o+ 0 col4nas% At+ave9 do comando acima; toda a a+ea em volta do c4+sos F selecionada% ste comando e<4ivale a voce '+essiona+ sim4ltaneamente as teclas> CTR8 D !i:t DY
election%C4++entRe3ion%elect
election%o+t e.1>=Ran3e("A1"); 6+de+1>=xlAscendin3
T+ad4ção% T+ad4ção% o+t = Classi:ica+ e. = C!ave; es'eci:icação% Ascendin3 = Ascendente Ascendente *o exem'lo ao lado; co++es'onde a manda+ classi:ica+ 4ma a+ea selecionada; 4tili9ando como c+itF+io a col4na "A1"; em o+dem Ascendente% Ascendente%
8e:t
Va+iavel = 8e:t("IAR*"; 5)
Teste2
T+ad4ção% 8e:t = s<4e+da ste comando 'ode se+ 4tili9ado; con:o+me ao lado; 'a+a a+ma9ena+ na "Va+iavel" as 5 let+as a es<4e+da da 'alav+a "IAR*)% "IAR*)% Res4ltado = "Caval"
Ri3!t
Va+iavel = Ri3!t("IAR*"; Ri3!t("IAR*"; 5)
Teste2N
T+ad4ção% Ri3!t = i+eita ste comando 'ode se+ 4tili9ado; con:o+me ao lado; 'a+a a+ma9ena+ na "Va+iavel" as 5 let+as a di+eita da 'alav+a "IAR*)% Res4ltado = "Cante"
Teste0
T+ad4ção% Iid = Cent+o ste comando 'ode se+ 4tili9ado; con:o+me ao lado; 'a+a a+ma9ena+ na "Va+iavel" "Va+iavel" os ca+acte+es a 'a+ti+ do &Z ca+acte+ D 2 ca+acte+es; totali9ando totali9ando ca+acte+es% ca+acte+es% "IAR*)% Res4ltado = "Ante"
Teste1
T+ad4ção% 7nse+t = 7nse+i+ ste comando; <4ando 4tili9ado con:o+me o exem'lo ao lado; inse+e 4ma li n!a em b+anco; co++es'ondente a M+ea selecionada; selecion ada; na 'lanil!a; na lin!a de baixo de onde o c4+so+ estive+ selecionado% ste comando F simila+ a seleciona+ 4ma cel4la; clica+ com o botão di+eita e escol!e+ excl4i+ movendo 'a+a baixo%
o+t
Va+iavel = Iid("IAR*"; &; )
Iid
7nse+t
election%7nse+t !i:t>=xlon
xit /4nction
T+ad4ção% T+ad4ção% xit = ai+ /4nction = /4nção xit /4nction = ai+ da /4nção ste comando F 4tili9ado <4ando se <4e+ sai+ da :4nção d4+ante s4a exec4ção% #o+ exem'lo d4+ante 4ma Condição; o'ta-se 'o+ sai+ da :4nção%
*ext
T+ad4ção% *ext = #+@ximo ste comando F 4tili9ado em 4ma ext+4t4+a de +e'etição; em con4nto com o Comando /6R
vbC+ vbC+8: 8:
Is3b Is3bo ox"Ia x"Ia+d +d"" U Vbc+8 bc+8:: U "en" "en"
test este1
ste comando F 4tili9ado 'a+a se'a+a+ textos dent+o de 4ma Iensa3em (Is3box) o4 o4 em 4ma Caixa de Iensa3em (7n'4tBox)% *o exem'lo ao lado; o +es4ltado se+ia> Ia+d em
5
Relação de Comandos VBA
&
test teste1 e1
ste comando F 4tili9ado 'a+a se'a+a+ textos dent+o de 4ma Iensa3em (Is3box) (Is3box) o4 em 4ma Caixa de Iensa3em (7n'4tBox)% *o exem'lo ao lado; o +es4ltado se+ia> Ia+d em
Teste2
T+ad4ção% T+ad4ção% 8en = (Iedi+ o taman!o das 'alav+as) ste comando; 4tili9ando con:o+me modelo ao lado; a+ma9ena na Va+iavel "Taman!o" a <4antidade de ca+acte+es <4e tem a 'alav+a "IAR*"% *este exem'lo; 10 ca+acte+es%
Re'lace
Va+iavel Va+iavel = Re'lace("12;,5"; Re'lace("12;,5"; "%"; Va+iavel)
Teste
T+ad4ção% T+ad4ção% Re'lace = 4bstit4i+ ste comando F 4tili9ado 'a+a s4bstit4i+ ca+acte+es dent+o de 4m texto% xem'lo% *4ma va+iavel temos 4m n4me+o "12%,5" e <4e+emos s4bstit4i+ o "%" 'o+ 4ma "Vi+34la"%
/ontt.le
ActiveCell%/ontt.le = "Bold"
Teste,Q
/on%/ont%Bold
election%/ont%Bold = T+4e
Teste,
Active ActiveJind Jindo o%c %c+ol +ollRo lRo = 100 100
Teste5 este5
CommandBa+s("tanda+d")%Visib A''lication%CommandBa+s("tan A''lication%CommandBa+s("tan le = T+4e da+d")%Visible = T+4e
Teste&
C!+( C!+(1 1))
Is3b Is3box ox"I "Ia+ a+d" d" U c!+( c!+(1 1)) U "en" "en"
7: Ri3!t[(c#a+te; Ri3!t[(c#a+te; 2) "00" T!en
8en
Active ActiveJind Jindo o%c %c+ol +ollRo lRo
c+een'datin3
t+Conv
Taman!o = 8en("IAR*")
T+ad4ção% T+ad4ção% CommandBa+s = Ien4 de /e++amentas ste comando to+na visivel a ba++a de :e++amentas "#ad+Lo"%
A''lication%c+een'datin3 A''lication%c+een'datin3 = /alse
T+ad4ção% c+een'datin3 = At4ali9ação da Tela ste comando 'e+mite desli3a+ a at4ali9ação da Tela (Ionito+) d4+ante a exec4ção de 4ma mac+o% ste '+ocedimento :a9 com <4e a mac+o sea exec4tada mais +a'idamente% m mac+os extensas F 4m comando m4ito 4til; c!e3ando a a4menta+ a velocidade de exec4ção em mais de 1000\ (mil 'o+ cento)% #a+a +e-li3a+ a at4ali9ação da tela; s4bstit4a "/alse" 'o+ " T+4e"
Va+iavel = t+Conv("IAR* t+Conv(" IAR* CAR66"; )
T+ad4ção% T+ad4ção% t+Conv = Conve+te+ 4ma t+in3 (se<4encia de ca+acte+es) ste comando; associado ao n4me+o ; a+ma9ena na "Va+iavel" "Va+iavel" a 'alav+a "IAR* CAR66"; esc+ita em minisc4la; com os 1Hs ca+acte+es de cada 'alav+a em Iaisc4lo% Com o n4me+o 1; t+ans:o+ma t4do em mai4sc4lo% Com o n4me+o 2; t+ans:o+ma t4do em min4sc4lo%
TesteQ
T+ad4ção% 6n ++o+ Res4me *ext = m caso de ++o; conse+te na se<4encia% T+ad4ção% A4to/ilte+ = A4to /ilt+o 6 comando ao lado seleciona o A4to :ilt+o n4m banco de dados%
6n ++o+ Res4me *ext A4to/ilte+
election%A4to/ilte+ election%A4to/ilte+
/ield>
election%A4to/ilte+ election%A4to/ilte+ /ield>=1; C+ite+ia1>="1"
/o+ 8oo'
T+ad4ção% /ontet.le = stilo da /onte% *o xem'lo ao lado; F a'licado o estilo "Bold"; o4 "*e3+ito" na Cel4la selecionada% T+ad4ção% /ont%Bold = stilo da /onte *e3+ito T+ad4ção% T+ad4ção% ActiveJindo = Panela Ativa c+ollRo = Rola+ a Tela ste comando F 4tili9ado 'a+a +ola+ a tela 'a+a a lin!a"1000"%
T+ad4ção% /ield = Cam'o ste comando F 4tili9ando 4nto com o A4to/ilte+; e se+ve 'a+a dete+mina+ os c+ite+ios <4e se+ão 4tili9ados
/o+ nContado+ = 1 To ,
T+ad4ção% /o+ = xec4te T+ad4ção% 8oo' = 8oo'in3
Active!eet%!oAllata
T+ad4ção% !oAllata = Iost+a+ todos os dados tili9ado <4ando se t+abal!a com :ilt+os% 4ando temos 4ma tabela de dados com o :ilt+o ativado e <4e+emos <4e todos os dados da tabela :i<4em visiveis% Co++es'onde ao comando adosK/ilt+aKIost+a+ Todos%
A''lication%Jait A''lication%Jait (*o D TimeVal4e("0>00>0"))
Teste5
T+ad4ção% Jait = s'e+a+ #ode se+ 4tili9ado 'a+a c+ia+ 4ma "'a4sa" d4+ante a exec4ção de 4ma mac+o% *o exem'lo ao lado; a es'e+a F de 0 se34ndos%
Go4+(*o())
Va+iavel = Go4+(*o())
Teste2
T+ad4ção% Go4+(*o()) = Go+a at4al *o exem'lo ao lado; ac4m4lamos na Va+iavel a !o+a at4al (do sistema)%
Iin4te(*o())
Va+iavel = Iin4te(*o())
Teste
T+ad4ção% Iin4te(*o()) = Iin4to at4al *o exem'lo ao l ado; ac4m4lamos na Va+iavel o Iin4to at4al (do sistema)%
econd(*o())
Va+iavel = econd(*o())
Teste,
T+ad4ção% econd(*o()) = e34ndo at4al *o exem'lo ao lado; ac4m4lamos na Va+iavel o e34ndo at4al (do sistema)%
TesteN
A inst+4ção inst+4ção seleciona a Col4na 7ntei+a 7ntei+a onde o c4+so+ estive+% #ode-se ac+escenta+ inst+4ç?es; colocando-se 4m 'onto a'@s a :4nção; como 'o+ exem'lo> ActiveCell%nti+eCol4mns%elete; ActiveCell%nti+eCol4mns%elete; Clea+; Clea+; Clea+Comments; Clea+/o+mat; etc%
!oAllata
Jait
ActiveCell%Col4mns("A>A")%nti+e ActiveCell%Col4mns("A>A")%nti+e ActiveCell%Col4mns("A>A")%nti+e ActiveCell%Col4mns("A>A")%nti+e Col4mn%elect Col4mn%elect Ro U Col4mn
Teste,5
Col4mn U Ro
Teste,5
ate
Va+iavel = ate()
Teste,N
ete+mina+ o ende+eço da 8in!a e Col4na onde o c4+so+ esta locali9ado% ete+mina+ o ende+eço da 8in!a e Col4na onde o c4+so+ esta locali9ado% T+ad4ção% ate = ata A+ma9ena na Va+iavel Va+iavel a data do do istema%
Relação de Comandos VBA
Q
Iont!
Va+iavel = Iont!(Goe)
Teste,N
T+ad4ção% Iont! = I]s A+ma9ena na Va+iavel Va+iavel o m]s contido na Va+iavel Va+iavel Goe%
ea+
Va+iavel = Iont!(Goe)
Teste,N
T+ad4ção% ea+ = Ano A+ma9ena na Va+iavel Va+iavel o ano contido na Va+iavel Va+iavel Goe%
a.
Va+iavel = Iont!(Goe)
Teste,N
T+ad4ção% a. = ia A+ma9ena na Va+iavel Va+iavel o ia contido na Va+iavel Va+iavel Goe%
en!a Consisti+ /o+m4la+io (valmi+ Ab+il)
Teste5Q
#+otect
Active!eet%#+otect "sen!a"
Teste5
n#+otect
Active!eet%n#+otect "s "sen!a"
Teste5N
/o+m
/ind
Teste&0
Cells%/ind
Teste&1
T+ad4ção% #+otect = #+ote3e+ #+ote3e+ a 'lanil!a T+ad4ção% n#+otect = es'+ote3e+ es'+ote3e+ 4ma 'lanil!a '+ote3ida% T+ad4ção% /o+m = /o+m4lM+io *este exem'lo; c+iamos 4m 'e<4eno :o+m4la+io e 4ma :o+ma de consisti+ a ent+ada de dados; solicitando <4e o 4s4a+io '+eenc!a todos os dados do :o+m4la+io% T+ad4ção% /ind = 8ocali9a+