You are on page 1of 3

Trucos y tretas en Excel VBA para programadores - Rankia

1 de 3

http://www.rankia.com/blog/comstar/1021298-trucos-tretas-excel-vba-...

)WXIWMXMS[ IFYWEGSSOMIWTVSTMEWSHIXIVGIVSWTEVEEREPM^EVPEREZIKEGMRHIPYWYEVMS)RGEWSHIWIKYMVREZIKERHSWIIRXMIRHIUYIEGITXEPETSPXMGEHIGSSOMIW

)RXVEV

6IKMWXVS

%GITXEV

9WYEVMSW 'YVWSW +VYTSW 'SRXEGXEV 4VSQ SGMSRIW 9XMPMHEHIW 0SPXMQ S

Buscar
)74% %
*SVSW

&PSKW

6EROME

0PMREVIW

&ERGE
)8*W41

(ITWMXSW
7YFEWXEW

4VWXEQ SW
2 YIZEWVIKPEW

, MTSXIGEW

7IKYVSW

)GSW7SPEVIW

'SQ WXEV

*SRHSW

1 EXIVMEWTVMQ EW

3TGMSRIW

)GS(SQ WXMGE

7MWXIQ EW
':EVKEW

'*(

*SVI\

+EQ I3ZIV

*YXYVSW

&SPWE

-64*

1 INSVIWHITWMXSW

-RMGMS &PSKW 'EQ FMERHSIPQ YRHS 8VYGSW]XVIXEWIR)\GIP:&%TEVETVSKVEQ EHSVIW

23/06/2016 15:19

Trucos y tretas en Excel VBA para programadores - Rankia

2 de 3

http://www.rankia.com/blog/comstar/1021298-trucos-tretas-excel-vba-...

)WXIWMXMS[ IFYWEGSSOMIWTVSTMEWSHIXIVGIVSWTEVEEREPM^EVPEREZIKEGMRHIPYWYEVMS)RGEWSHIWIKYMVREZIKERHSWIIRXMIRHIUYIEGITXEPETSPXMGEHIGSSOMIW

%GITXEV

PQ Y

'SQ WXEV

8VYGSW]XVIXEWIR)\GIP:&%TEVETVSKVEQ EHSVIW
'SQ WXEV 

)RZEXYGSRWYPXE

GSQ IRXEVMSW

7YWGVMFMVXI

+YEVHEV

)WXITSWXRSIWXLIGLSTEVERSZEXSWUYIRSWITERREHEHIPQ EGVSWHI)\GIPWMRSEUYIPPSWUYIWEFIREPKSHITVSKVEQ EGMRHI:MWYEP


&EWMG7MIVIWRIXSIRQ EGVSWHI)\GIPIR:MWYEP&EWMGHIFIVEWZIVQ MTSWX)\GIP:&%]Q EGVSW9RELIVVEQ MIRXEQ Y]XMPTEVE
XVEFENEVLSNEWHIGPGYPS  1 ILERHITIVHSREVPEQ ERIVEIRUYIETEVIGIIPGHMKSTIVSIWYRTVSFPIQ EIRPEQ ERIVEIRUYI
ETEVIGIIPGHMKS, 81 0TEVEHIWTPIKEVGHMKSGSRMRHIRXEGMRIRIWXIWMXMS

Buscar

)WTIGMEPQ IRXIIRRER^EWSIRFSPWETIVSXEQ FMRIRRIKSGMSWHIXSHSXMTSTVSKVEQ EVQ EGVSWHI)\GIPWYIPIWIVWYQ IQ ERXIXMP]


TSVIWSLIUYIVMHSHIMGEVIWXITSWXEXVERWQ MXMVEPKYRSWXVYGSWTEVEELSVVEVXIXMIQ TS'YERHSTVSKVEQ EQ SWGHMKSTEVEQ EGVSWHI
)\GIP:&%EQ IRYHSRSWIRGSRXVEQ SWGSRUYIPSWHIXEPPIWHIGQ SMRZSGEVXEPSGYEPGSWEHI)\GIPXIVQ MREWMIRHSQ Y]GVTXMGE]
HIFIWREZIKEVTSVJSVSWXYXSVMEPIWSMRGSRXEFPIWTKMREWMRMRXIPMKMFPIWHI1 MGVSWSJXUYIRSXIVIWTSRHIRPSUYIERHEWFYWGERHS
7MWEFIW:MWYEP&EWMGPSQ WPKMGSIWUYITEVEIPEFSVEVQ EGVSWXVEXIWHIKVEFEVYREQ EGVSTVMQ IVS]PYIKSIQ TMI^EWEZIVIPGHMKS
HIQ YIWXVETEVEZIVGQ SLEGIVHIXIVQ MREHEWGSWEW)RIWXITSWXWITVIXIRHITVSZIIVXVYGSWHITVSKVEQ EGMRIR)\GIP:&%TEVE
IJIGXYEVXEVIEWUYIRSWITYIHIRHIVMZEVHIPGHMKSKVEFEHSIRYREQ EGVSIR)\GIP)WXSWXVYGSWWSRIPVIWYPXEHSHIVIWSPZIVYRE
WIVMIHITVSFPIQ EWUYIIRWYQ SQ IRXSWMKRMGEVSRYRHSPSVHIGEFI^E

1 WPIHS

)WXIINIQ TPSMRWIVXEIPZEPSVIRPEGIPHEHIPEPE]GSPYQ RE0YIKSPEZEVMEFPI\XSQ EIWIZEPSV]PIWYQ E'EFIEEHMVUYI


GEHEZI^UYIPPEQ EQ SWYREGIPHEYREGERXMHEHQ Y]KVERHIHIGHMKSHI)\GIPIWMRZSGEHEHIQ SHSUYIWMTMIRWEWXVEFENEVGSR
Q YGLEWGIPHEWSQ YGLEWZIGIWGSRPEQ MWQ EGIPHEIWQ INSVUYITEWIWPSWZEPSVIWEZEVMEFPIWIRPYKEVHIPPEQ EVEPEGIPHEIRW
Q MWQ E
Cells(2,3).Select
Selection.HorizontalAlignment = xlCenter
Selection.VerticalAlignment = xlCenter
)RIWXIINIQ TPSPEGIPHEHIPEPEGSPYQ REIWWIPIGGMSREHE]PEWIPIGGMRPYIKSIWSFNIXSHIGIRXVEHSZIVXMGEP]LSVM^SRXEPYWERHS
7IPIGXMSR

8VYGSW]XVIXEWIR)\GIP:&%TEVE
TVSKVEQ EHSVIW

)\GIP:&%]Q EGVSW9RELIVVEQ MIRXE


Q Y]XMPTEVEXVEFENEVLSNEWHIGPGYPS
 

*SVQ EWIPIKERXIW]JGMPIWTEVE
LEFPEV

8MIRI)WTEEYREGVMWMWHIHIYHE#

7EPYHTFPMGESTVMZEHE#

)XMUYIXEWIRIWXIFPSK
EVKIRXMRE

'LMRE

'VMWMW)WTEE

9WERHSVERKSW
4EWEVHIPERSXEGMRHIPE]GSPYQ REEPEHIGIPHEWWYIPIWIVYRTSGSMRGQ SHS2 SVQ EPQ IRXITEVEWIPIGGMSREVYRVERKSYWEVEQ SW
EPKSGSQ SIWXS
Range("A5:B8").Select

1 WVIGSQ IRHEHS

3FXIRIVZEPSVHIYREGIPHE
Cells(4,5)=23
x = Cells(4,5)+1

'SWXE6MGE

'VMWMW

(IYHE

)GSRSQ E )RXMHEHIWHIGVHMXS
)WTEE
)WXEHSW9RMHSW
:IVXSHEW

'SQ SLEWZMWXSPSUYIIWXTVSGIWERHSPEJYRGMR6ERKI IRXVIGSQ MPPEWIWYRELMPIVEHIGEVEGXIVIW4EVEIJIGXSWHIIWGVMFMVGHMKS


TSHIQ SWYWEVIWXEI\TVIWMRIUYMZEPIRXI

PXMQ SWGSQ IRXEVMSW


Range(Cells(5,1),Cells(8,2)).Select
'SRZIVXMVRQ IVSWIRPIXVEW TEWEVHIPERSXEGMRPEGSPYQ REE% WYIPIWIVWYQ EQ IRXIMRGQ SHS4EVEIPPSLIGSRWXVYMHSYRE
JYRGMRUYILEGIIPXVEFENS


Private Function GetColumnLetter(index) As String
Dim FL, LL As Long
GetColumnLetter = ""
LL = (index - 1) Mod 26 + 65
If LL > 63 Then GetColumnLetter = Chr(LL)
If index > 26 Then
FL = Int((index - 1) / 26) + 64
GetColumnLetter = Chr(FL) & GetColumnLetter
End If

0E6%)HMWGVITEYRTSGSHIXY
HIRMGMRJ4VGXMGETSPXMGE
GSRWMWXIRXI
'SQ WXEV, S]EPEW

'MXSEPE6%)HIQ EKSKMEJ4VGXMGE
TSPXMGEGSRWMWXIRXIIRTVSTSRIVEPKS
HMPFIVX, S]EPEW

7MIWHIQ EKSKME0EQ ERIVEHITEVEV


PEMRQ MKVEGMRIWTEWEVPIIPTVSFPIQ E
EP
'SQ WXEV, S]EPEW

End Function
0EJYRGMRGSRZMIVXIIPRQ IVSIRPIXVEWIRGEVEGXIVIW'EFIERSXEVUYIWPSWMVZITEVEPPIKEVLEWXEGSPYQ RE>>HIQ SHSUYIWMWI
TEWEHIIWEGSPYQ REIWXEJYRGMRRSXIWIVZMV4EVEPPEQ EVIWXEJYRGMRGSRPEWQ MWQ EWGSSVHIREHEW  ]  LEVEWEPKSGSQ S
IWXSTEVEGSRZIVXMVIRLMPIVE

7MLE]EPKYMIRIRIPQ YRHSUYIWYTS
HIGMVEPEKIRXIPSUYIUYIVE
IWGYGLEV
HMPFIVX, S]EPEW

Range(GetColumnLetter(5) & Format(1,"0") & ":" & GetColumnLetter(8) & Format(2,"0")).Select


'SQ SLEFVWRSXEHSLIYWEHSPEJYRGMR*SVQ EX UYIIZMXEUYIWIEKVIKYIRIWTEGMSWEPGSRZIVXMVHIRQ IVSELMPIVEGSQ STEWEVE
GSRPEJYRGMR7XV 

:IRXEREIQ IVKIRXITEVEUYIIPYWYEVMSMRKVIWIYRVERKS

(IGMVUYIPEMRQ MKVEGMRQ EWMZEHI


KIRXITSFVIGEYWETVSFPIQ EW
WSGMEPIW]
HMPFIVX, S]EPEW

7MUYMIVIWUYIETEVI^GEYREZIRXEREIQ IVKIRXIGSRPEGYEPTYIHEWTIHMVEPYWYEVMSUYIWIPIGGMSRIYRVERKSHIHEXSWTYIHIWYWEVIP
GHMKSUYIWIQ YIWXVEEGSRXMRYEGMR0SUYIWILEGIIWHIGPEVEVYRSFNIXSHIXMTS6ERKIPPEQ EHSGIPHEW7IPIGGMSREHEW%IWISFNIXS
WIPIEWMKREIPVIWYPXEHSHIPEJYRGMR%TTPMGEXMSR-RTYX&S\UYIHIWTPMIKEPEZIRXEREIQ IVKIRXIUYIWSPMGMXEPEMRJSVQ EGMREPYWYEVMS
7MIPYWYEVMSRSMRKVIWERMRKRVERKSIPZEPSVUYIXIRHVIPSFNIXSIW2 SXLMRK
)PGSQ ERHS3R)VVSV6IWYQ I2 I\XMRHMGEUYIWMSGYVVIYRIVVSVIRXSRGIWMKRSVIIPIVVSV]TVSGIHEGSRPEWMKYMIRXIMRWXVYGGMR)P
GSQ ERHS3R)VVSV+SXSMRHMGEUYIWIGERGIPEPEHIXIGGMRHIIVVSVIW)PGSQ ERHS1 WKFS\HIWTPMIKEMRJSVQ EGMRIRYREZIRXERE
IQ IVKIRXI
, IEUYIPGHMKS
Dim celdasSeleccionadas As Range
On Error Resume Next

23/06/2016 15:19

Trucos y tretas en Excel VBA para programadores - Rankia

3 de 3

http://www.rankia.com/blog/comstar/1021298-trucos-tretas-excel-vba-...

)WXIWMXMS[ IFYWEGSSOMIWTVSTMEWSHIXIVGIVSWTEVEEREPM^EVPEREZIKEGMRHIPYWYEVMS)RGEWSHIWIKYMVREZIKERHSWIIRXMIRHIUYIEGITXEPETSPXMGEHIGSSOMIW

*SVSW

3 TMRMSRIW

*YRGMSREPMHEHIW

*SVSWXIQ XMGSW

%WIKYVEHSVEW

.YIKSHI&SPWE

%GGMSRIW

'SQ TEVEHSVHIGYIRXEW

&ERGSW

'SQ TEVEHSVHIHITWMXSW

&VSOIVW

'SQ TEVEHSVHILMTSXIGEW

-RXIVREGMSREP
6EROME%VKIRXMRE

8[ MXXIV

6EROME'LMPI

*EGIFSSO

6EROME4IV

+SSKPI4PYW
2 I[ WPIXXIV
677

'YIRXEW

'SQ TEVEHSVHIXEVNIXEW

6EROME'SPSQ FME

(ITWMXSW

7IKYVSHIGSGLIFEVEXS

6EROME1 \MGS

)8*W

7MQ YPEHSVIW

*SRHSWHIMRZIVWMR

8MXYPEVIW

+IWXSVEW

%VXGYPSW

, MTSXIGEW

)XMUYIXEW

4PERIWHITIRWMSRIW

(MGGMSREVMSRERGMIVS

7IKYVSWGSGLI

7YWGVMTGMSRIW

%GITXEV

7MKYIRSWIR

6EROME97%

7IKYVSWLSKEV
8EVNIXEW

'SRSGIPESXVEGSQ YRMHEHHIPKVYTS)Q IVKME


:IVIQ E:MRSW6IWXEYVERXIW)RSXYVMWQ S]'PYFHI:MRSW
'ST]VMKLXk 6EROME70%ZMWSPIKEP4SPXMGEHIGSSOMIW

23/06/2016 15:19

You might also like