Está en la página 1de 16

Tips en Excel

1
Para rellenar una Base de Datos(BD)
podemos pasar de un dato a otro de la misma fila con <TAB> y si despus de introducir el ltimo dato
de la fila pulsamos <INTRO> el cursor se posicionar en el primer dato de la siguiente fila
!
Para separar un sector circular en un grfico(GRAF)
se pulsa con el rat"n so#re l y luego se separa Tam#in se puede cam#iar el color de un sector
pulsando so#re l con el #ot"n derec$o del rat"n y eligiendo %&ormato de punto de datos%
'
Para incluir una nueva serie de datos en un grfico(GRAF)
se copia el rango de datos nue(o y se pega so#re el grfico
)
Para seleccionar una tabla completa(KEB)
#asta con posicionarse en cual*uier celda de la ta#la y pulsar +,TR-./0 12i usa el asterisco del teclado
general no ol(ide *ue se consigue pulsando tam#in la tecla +3A452,5-A2.6
7
Para poder ver las f!rmulas de una "o#a(KEB)
8erramientas9 Opciones9 pesta:a ;er9 y en Opciones de ;entana marcar &"rmulas
<ero tam#in e=iste un mtodo de Teclado A#re(iado *ue consiste en pulsar +A-T./> y si se (uel(en a
pulsar estas dos teclas se muestra la $o?a como $a#itualmente la (emos
@
Auto$%pen() & Auto$'lose()((A'R%)
A=iste una macro de autoarran*ue *ue se e?ecuta cuando se a#re el li#ro 2e llama autoBopen16
4 e=iste otra *ue se e?ecuta ?usto antes de cerrar el li#ro *ue se llama autoBclose16

2u# AutoBOpen16
Cim $ora As Cou#le
Cim saludo As 2tring
$ora D 1NoE F Int1NoE66 0 !)
2elect ,ase $ora
,ase @ To 1)
saludo D GBuenos dHasG
,ase 1) To !1
saludo D GBuenas tardesG
,ase Alse
saludo D GBuenas noc$esG
And 2elect
3sgBo= saludo I G AmoG
And 2u#

A*ui(alente a autoBopen e=iste otra macro )or*boo*$%pen9 pero sta $a de ser guardada no en un
m"dulo normal9 sino en T$isJorK#ooK <rue#e lo siguienteL

Al siguiente procedimiento permite a#rir automticamente el li#ro Balance=ls al a#rir el li#ro
Informe=ls Al procedimiento $a de estar en T$isJorK#ooK del li#ro Informe=ls

2u# JorK#ooKBOpen16
%Apertura de li#ro Balance
JorK#ooKsOpen &ilenameLDG,LM,onta#ilidadMBalance=lsG
%Acti(aci"n del li#ro Informe
JindoEs1GInforme=lsG6Acti(ate
And 2u#
N
Personal+,ls(
<odemos crear una macro para *ue este disponi#le en todas las $o?as de clculo Asto se $ace con el
li#ro <AR2ONA-O-2
<ersonal=ls es un -i#ro *ue se carga cada (eP *ue se inicia A=cel9 pero no esta (isi#le ya *ue tiene el
atri#uto de Ascondido 18idden69 por lo *ue si necesitamos modificarlo lo de#emos $acer a tra(s del
comando G3ostrarG del men G;entanaG An caso *ue no e=ista lo podemos crear con un li#ro de
tra#a?o nue(o9 sal(arlo con este nom#re y de?arlo en la carpeta GInicioO-G 1O-2tart69 *ue se encuentra
en la carpeta GOfficeG del directorio donde esta instalado 32Office ,ada (eP *ue de?amos de tra#a?ar
con este arc$i(o9 lo de#emos sal(ar y luego acti(ar el comando GOcultarG del men G;entanaG9 para *ue
no se (ea cuando iniciamos la aplicaci"n
-a ruta de mi fic$ero esL
,LQCocuments and 2ettingsQAdolfoQCatos de programaQ3icrosoftQA=celQO-2TARTQ
+<AR2ONA-O-2.8o?a1
R
-aludo al arrancar
,rear un li#ro <ersonal=ls como se $a indicado anteriormente con la macro de autoarran*ue siguienteL

2u# AutoBopen16
3sgBo= 1GSue tengas un #uen dHaG6
And 2u#

Asta macro creada en el li#ro <ersonal=ls $ace *ue al iniciar A=cel nos salga un mensa?e saludndonos
T
.ombrar /o#a desde una celda
Asta macro permite asignar el nom#re *ue pongamos en la celda A1 como nom#re de la 8o?a actual

2u# Nom#re8o?a16
Acti(e2$eetName D Range1GA1G6;alue
And 2u#
1U
Protecci!n de una "o#a
-as celdas por defecto (ienen #lo*ueadas 2i deseamos des#lo*uear algunas de ellas de#emos $acer lo
siguienteL &ormato9 ,elda9 pesta:a <roteger9 *uitar la casilla de (erificaci"n *ue esta puesta por defecto
en %Blo*ueada% 2i marcamos %Oculta% no se (er el contenido de la celda en la #arra de f"rmulas Asto se
$ace cuando no se desea *ue alguien (ea la f"rmula de una celda Cespus se de#e proteger la $o?a conL
8erramientas9 <roteger9 <roteger $o?a 2e le pueden permitir ms o menos acciones al usuario 2i no le
permitimos seleccionar las celdas #lo*ueadas y des#lo*ueadas no podr posicionarse con el cursor
so#re ellas 2i nicamente le de?amos seleccionar las des#lo*ueadas nos encontraremos con algo
parecido a un formulario
11
Propiedad Enable-election
<ara reforPar el #lo*ueo del paso anterior podemos $acer lo siguienteL
Ir al Aditor de ;isual Basic An el A=plorador de proyectos ir a la $o?a *ue *ueramos proteger An la
;entana de propiedades #uscar la propiedad Ana#le2election y ponerle el (alor 1 ,errar el editor9
(ol(er a A=cel y gra#ar la plantilla
,on la do#le opci"n 1protecci"n de $o?a y la propiedad Ana#le2election6 ser imposi#le seleccionar una
celda9 y por lo tanto copiar o modificar cual*uier (alor Aste procedimiento no funciona en A=cel !UUU
y en las (ersiones anteriores9 por*ue la propiedad Ana#le2election no conser(a el (alor modificado al
cerrar la plantilla Aun*ue lo cierto es *ue pocos usuarios conocen la citada propiedad
1! Enable-election 0 ,l1nloc*ed'ells
<ara paliar el incon(eniente citado anteriormente para las (ersiones de A=cel !UUU y anteriores se puede
$acer lo siguienteL
Ir al Aditor de ;isual Basic An el A=plorador de proyectos ir a la $o?a *ue *ueramos proteger An la
;entana de propiedades #uscar la propiedad Ana#le2election y ponerle el (alor 1 ,errar el editor9
(ol(er a A=cel y gra#ar la plantilla
,on la do#le opci"n 1protecci"n de $o?a y la propiedad Ana#le2election6 ser imposi#le seleccionar una
celda9 y por lo tanto copiar o modificar cual*uier (alor Aste procedimiento no funciona en A=cel !UUU
y en las (ersiones anteriores9 por*ue la propiedad Ana#le2election no conser(a el (alor modificado al
cerrar la plantilla
Ase procedimiento se puede realiPar tam#in mediante una macroL
<ri(ate 2u# JorK#ooKBOpen16
JorKs$eets1G8o?a1G6Ana#le2election D =l5nlocKed,ells
And 2u#
Al (alor por defecto es xlNoRestrictions
1'
%pciones de %rdenaci!n
Al ordenar un rango de datos podemos elegir en Opciones *ue la ordenaci"n sea Normal 1alfa#tica6 o
segn una de las -istas <ersonaliPadas de A=cel
<uede distinguir maysculas de minsculas
<uede ordenar en (ertical 1*ue es lo normal6 o en $oriPontal
1)
'riterios utili2ados para filtrar una base de datos
5n criterio est formado al menos por dos celdas -a primera es un nom#re de campo y la segunda *ue
estar de#a?o es el criterio propiamente dic$o
2alario
>D'UUUU
,uando usamos (arios criterios estos se relacionan entre si mediante concatenadores l"gicos 4 u O <or
e?emplo9 supongamos *ue deseamos filtrar de una #ase de datos los registros correspondientes a
tra#a?adores *ue cumplan *ue su salario esta comprendido entre 'UUUU y )UUUU euros9 o #ien su edad
es de 'U a:os y se llaman 3aria An ese caso el criterio esta formado por mltiples celdas9 de forma *ue
los criterios *ue estan en la misma fila se $an de cumplir am#os 1operador 469 y si estn en fila distinta
se $an de cumplir unos u otros 1operador O6
17
3arias l4neas en una celda
<ara escri#ir (arias lHneas en la misma celda puedes escri#ir lo *ue *uieras y para a#rir un espacio $acia a#a?o en la misma
celda pulsar Alt/Anter
1@
(over celdas entre "o#as
2eleccione el rango a mo(er -l(elo $asta la pesta:a de la $o?a de destino9 presione A-T y mantenga presionado $asta *ue
de?e el rango en la parte de la $o?a de destino *ue desee
1N
5nsertar filas o columnas rpidamente
An una $o?a de A=cel *ue ya tengas rellena9 prue#a a $acer estoL
;ete al principio de lo *ue tengas escrito
<on el rat"n so#re el control de relleno 1es el puntito negro *ue tiene el cursor a#a?o a la derec$a6
2a#es *ue ests encima del control de relleno9 por*ue la cruP #lanca *ue es normalmente el rat"n se
cam#ia a color negro
A$ora pulsa la tecla de maysculas 1no la de #lo* mays6 y sin soltarla pulsa el #ot"n iP*uierdo del
rat"n y arrstralo $acia a#a?o o $acia la derec$a9 (ers *ue se insertan filas o columnas
1R
'opiar en E,cel 6P arrastrando con 'trl
2e puede copiar una celda arrastrando con ,trl desde alguno de los ) lados del #orde de la celda acti(a
2i no se emplea el ,trl la celda no se copia9 se mue(e
1T
Edici!n7 Rellenar7 -eries
<oner el primer nmero y arrastrar el controlador de relleno con la tecla ,trl pulsada Asto nos dar una
serie con incrementos unitarios
!U
Algunas teclas de navegaci!n
,trl / Intro Ir a A1
&in F &lec$a a#a?o Vltima celda de un rango
,trl / &lec$a a#a?o Vltima celda de un rango
,trl / &in ,elda inferior derec$a al rea acti(a
Alt / A(<g <gina a la derec$a
2$ift / Barra de desplaPamiento (ertical u
$oriPontal
<ermite desplaPamientos ms rpidos
,trl / A(<g A(anPa entre las $o?as de un li#ro
<ara ir al e=tremo superior de un #lo*ue de datos9 $aga do#le clic en el e=tremo superior de la celda seleccionada ,on los
dems #lo*ues puede ir a los dems e=tremos del #lo*ue 4 si lo $ace mientras presiona la tecla 2$ift podr seleccionar
rangos
!1
'lculo automtico en la barra de estado
Al seleccionar un rango de nmeros (emos su suma en la #arra de estado 1a#a?o6 <ulsando so#re ella
con el #ot"n derec$o del rat"n podemos cam#iar la suma por un promedio9 el m=imo9 el mHnimo o
contar los elementos seleccionados en el rango
!!
Algunas abreviaturas de teclado
,trl / ,1,opiar6 ,trl / O1,ortar6
,trl / ;1<egar6 ,trl / W1Ce$acer6
!'
Al pulsar 5ntro se despla2a el cursor "acia aba#o7 pero se puede cambiar
<uede cam#iarlo en 8erramientas9 Opciones9 3odificar9 3o(er selecci"n despus de ANTRAR
!)
F88
<ulsando &11 so#re una serie de datos se construye un grfico completo y de forma automtica
!7 Proteger celdas
,on &ormato9 ,elda9 <rotege9 *uitar la casilla de (erificaci"n en Blo*ueada se consigue *ue en estas
celdas se pueda escri#ir despus de e?ecutar 8erramientas9 <roteger9 <roteger $o?a
,on TAB se puede saltar de una a otra celda de las des#lo*ueadas 4 con 3aysculas / TAB se salta
$acia atrs
!@
%cultar la formula en una celda
,on &ormato9 ,elda9 <roteger9 Oculta se marcan las celdas cuyas f"rmulas o contenido (isto en la lHnea de edici"n se desee
ocultar Cespus se $a de proteger la $o?a9 con 8erramientas9 <roteger9 <roteger $o?a
!N
'opiar una "o#a
<ara copiar una $o?a completa dispone de dos sistemasL
Al primero y ms fcil es se:alar con el rat"n la pesta:a de la $o?a a copiar9 pulsar ,trl y sin soltar
arrastrar la pesta:a con el rat"n Al soltar se $a#r duplicado completamente la $o?a 2i la $o?a a copiar
se llama#a %8o?a 1%9 la nue(a $o?a se llamar %8o?a 1 1!6%
As segundo mtodo consiste en situar el rat"n en el cuadradito *ue *ueda como intersecci"n del indicador de filas y
columnas Asto selecciona la $o?a completamente 2eguidamente se copia al portapapeles9 por e?emplo con ,trl / , 2e
inserta una $o?a nue(a y pulsando so#re ella en el citado cuadradito se pega el contenido del portapapeles9 por e?emplo con
,trl / ;
!R
5nsertar 'omentarios
2e pueden insertar comentarios en las celdas <ara ello9 pulse con el #ot"n derec$o del rat"n y eli?a %Insertar ,omentario%
<uede (erlos completamente9 solo la indicaci"n de *ue la celta tiene un comentario9 o no (erlos en a#soluto segn eli?a una
opci"n u otra en 8erramientas9 Opciones9 ;er9 ,omentarios
!T
9e,to con diversos formatos en una misma celda
2e pueden dar distintos formatos a los caracteres o pala#ras de una misma celda
<or e?emploL puede poner en una celda la siguiente e=presi"nL ;olumen 1m
'
6
;ase el distinto color de la fuente y el ' como superHndice


Volumen
(m
3
)

Asto se consigue se:alando en la #arra de f"rmulas el carcter o caracteres *ue se *uieren cam#iar y
aplicndoles el formato deseado
'U
9raba#ar simultneamente en varias "o#as
Antes de escri#ir te=to9 formulas9 dar formato9 etc en (arias $o?as simultneamente $a de se:alarlas
primero
2i son un con?unto de $o?as correlati(as9 se:ale la primera $aciendo clic con el rat"n so#re la pesta:a
*ue indica el nom#re de la primera y $aga 3aysculas / clic en la ltima
2i las $o?as no son consecuti(as selecciones la primera con un clic y las restantes con un ,trl / clic en
cada una
,uando $aya terminado de introducir la informaci"n y formatos comunes $aga clic en cual*uier pesta:a y asH se desacti(ar
el modo de tra#a?o con?unto
'1
Escribir en varias celdas simultneamente
2e:ale las celdas donde *uiere escri#ir una misma e=presi"n Incluso si son de rangos separados Ascri#a dic$a e=presi"n 4
(alide su introducci"n con ,trl / Intro
'!
3er todas las f!rmulas de una "o#a
2e consigue pulsando Alt / > 1esto es9 la tecla Alt y simultneamente la tecla de 1> *ue est a la
iP*uierda del nmero 16 <ara (ol(er a la situaci"n anterior (ol(er a pulsar
Tam#in se puede conseguir medianteL 8erramientas9 Opciones9 ;er9 &"rmulas
''
Borrar
,on el comando Adici"n9 Borrar se puede elegir entre Todo9 &ormatos9 ,ontenido 12upr6 o
,omentarios
<ara #orrar un rango primero seleccione el rango y luego presione 2$ift mientras arrastra con el rat"n el
indicador de relleno $acia el e=tremo superior iP*uierdo del rango 2i no presiona 2$ift conseguir
#orrar el contenido pero no los formatos
')
:a fuente por defecto en E,cel es la Arial 8; pero se puede cambiar
2e puede cam#iar para todos los li#ros nue(os medianteL 8erramientas9 Opciones9 Xeneral y elegir la
&uente Astndar y el tama:o
<ero tam#in se puede cam#iar la fuente s"lo en el li#ro acti(o de la siguiente forma Acti(ar el li#ro en
el *ue se *uiere cam#iar la fuente por defecto A?ecute &ormato9 Astilo y dentro del formato de estilo
Normal elegir 3odificar9 &uente y proceder a cam#iar la fuente &inalmente Aceptar
'7
Plantillas <+,lt
-as plantillas permiten predefinir formatos9 estilos9 te=tos9 f"rmulas9 #arras de $erramientas
personaliPadas e incluso macros9 *ue se utiliParn en todos los nue(os li#ros a#iertos 1si la plantilla se
llama li#ro=lt6 u $o?as nue(as insertadas 1si la plantilla se llama $o?a=lt6 Tam#in pueden e=istir otras
plantillas para diferentes usos9 por e?emplo9 para predefinir una factura9 cierto informe mensual9 un
#alance9 etc
-a plantilla de li#ro predeterminada 1li#ro=lt6 y la plantilla de $o?a predeterminada 1$o?a=lt6 se $an de
gra#ar como plantilla en el directorio INI,IAR *ue para la (ersi"n O< suele estar enL
,LQCocuments and 2ettingsQnom#reusuarioQCatos de programaQ3icrosoftQA=celQINI,IAR
o #ien enL
,LQCocuments and 2ettingsQnom#reusuarioQCatos de programaQ3icrosoftQA=celQO-2TART
Tanto las plantillas *ue tenga en la carpeta de inicio predeterminada de A=cel como las *ue $aya
definido en la carpeta de plantillas 1,LQCocuments and 2ettingsQnom#reusuarioQCatos de
programaQ3icrosoftQ<lantillas6 las tendr disponi#les cuando $aga Arc$i(o9 Nue(o y salga el <anel de
Tareas y en el eli?a <lantillas Xenerales
'@
Puede traba#ar con Estilos
An &ormato9 Astilo puede modificar el estilo normal o crear nue(os estilos9 pero s"lo estarn
disponi#les en el -i#ro Acti(o
2i se desea *ue los estilos estn disponi#les de forma permanente sigua los siguientes pasosL A#ra el
li#ro cuyos Astilos *uiere guardar permanentemente A#ra un li#ro nue(o y com#ine los Astilos en ste
A?ecute Arc$i(o9 Xuardar como9 eli?a como tipo <lantilla 10=lt6 Ascri#a como nom#re de fic$ero
-i#ro=lt o 8o?a=lt y gurdelo en la carpeta de inicio de A=cel 1,LQCocuments and
2ettingsQnom#reusuarioQCatos de programaQ3icrosoftQA=celQINI,IAR6 Ce esta forma cada (eP *ue a#ra un li#ro u
$o?a nue(os se dispondr de estos Astilos
<uede con(ertir el estilo de una celda en un tipo de estilo personaliPado 2itese en la celda patr"n y
eli?a &ormato9 Astilo y cam#ie el nom#re por uno nue(o de su elecci"n
<uede transferir los estilos de un li#ro a otro mediante &ormato9 Astilo9 ,om#inar <ara ello a#ra los dos
fic$eros 1o ms6 y e?ecute los pasos se:alados desde el fic$ero $acia el *ue *uiere lle(ar los nue(os
estilos
'N
:ibros =ue se abren al iniciar E,cel
-os li#ros *ue colo*ue en la carpeta de inicio de A=celL
,LQCocuments and 2ettingsQnom#reusuarioQCatos de programaQ3icrosoftQA=celQINI,IAR
o #ien en
,LQCocuments and 2ettingsQnom#reusuarioQCatos de programaQ3icrosoftQA=celQO-2TART
2e a#rirn al iniciar A=cel
Tam#in puede definir una carpeta de inicio de A=cel en 8erramientas9 Opciones9 Xeneral9 GAl inicio9
a#rir todos los li#ros enLG
'R :a funci!n 0'E:DA
-a funci"n ,A-CA es la tHpica funci"n *ue sir(e para (arias cosas segn *ue argumentos se utilicen
2i se usa con Gnom#rearc$i(oG
D,A-CA1Gnom#rearc$i(oG6
proporciona el nom#re y ruta del arc$i(o 1siempre *ue est gra#ado6 An la ayuda $ay un error y en
lugar de poner Gnom#rearc$i(oG pone Garc$i(oG
Otro argumento interesante es GcontenidoG
D,A-CA1GcontenidoGYA'6 <roporciona el contenido de la celda A'
'T
E,portar un m!dulo
1 <ase al editor de (isual #asic y acti(e el m"dulo a e=portar
! 2eleccione Arc"ivo> E,portar arc"ivo Aparece un cuadro de dilogo
' An cuadro de edici"n .ombre de Arc"ivo9 teclee el nom#re para el arc$i(o donde se guardar el
m"dulo9 por e?emplo GXeneralBasG9 o#ser(e *ue BA2 es la e=tensi"n de estos arc$i(os
) <ulse so#re el #ot"n Guardar
)U
5mportar un m!dulo
1 Acti(e el editor ;isual Basic
! 2eleccione Arc"ivo> 5mportar Arc"ivo Aparece un cuadro de dilogo
' 2eleccione en la lista Buscar en? la carpeta donde tiene u#icado el arc$i(o a importar
) 5na (eP localiPada la carpeta9 seleccione el arc$i(o a importar 1XeneralBas en el e?emplo6 y pulse
so#re Abrir
)1
:a clusula Private
<uede anteponer la clusula pri(ate a todos los procedimientos y funciones *ue sean llamados s"lo desde
el mismo m"dulo9 es una forma de a$orrar memoria y $acer *ue el programa corra un poco ms rpido 2i
necesita llamar un procedimiento o funci"n desde otro m"dulo9 nunca de#e precederlo por la clusula
pri(ate9 recuerde *ue esta clusula restringe el m#ito de utiliPaci"n de un procedimiento a su propio
m"dulo
)!
5nspecci!n rpida de variables
,uando e?ecuta un programa paso a paso9 si sita el puntero de rat"n so#re una (aria#le9 se muestra el (alor de la misma
)'
(odificar el valor de una variable en tiempo de e#ecuci!n
A (eces resulta interesante cam#iar el (alor de alguna (aria#le cuando se est e?ecutando el programa9
para (er *ue ocurre si coge determinados (alores9 para terminar un #ucle9 etc
<ara ello agregue a la (entana de inspecci"n la (aria#le *ue desee cam#iar9 cam#ie su (alor so#re la propia (entana de
inspecci"n y contine la e?ecuci"n del programa
))
3entana 5nmediato
<uedes inspeccionar (aria#les desde esta (entana anteponiendo la pala#ra print antes de la (aria#le9 o
el signo @
)7
Debug+Print
Asta e=presi"n permite efectuar la depuraci"n del programa de forma ms c"moda 2e introduce en un
programa antecediendo a una (aria#le *ue se desea compro#ar en la (entana Inmediato Ce esta forma
conseguiremos (er todos los (alores *ue toma la (aria#le cada (eP *ue el programa pasa por este
comando 2e (en en la 3entana 5nmediato +,tr/X.

A?emploL
2u# CosBaBlaBdieP16
Cim i As Integer
Cim t As Integer
t D 1
&or i D 1 To 1U
t D t 0 !
Ce#ug<rint GCos a la G I i I G D G I t
Ne=t
3sgBo= t
And 2u#
Cespus de efectuada la depuraci"n se *uita la lHnea *ue contiene el comando Ce#ug<rint
)@ Propiedad :istFillRange del 'omboBo,
,on esta propiedad de#eremos definir los elementos *ue de#e mostrar la lista9 de#e especificarse el
rango
*ue contiene los elementos a mostrar9 el rango de#e ser una columna 1o dos 9 o tres9 etc6
)N
Propiedad :inKed'ell del 'omboBo,
An esta propiedad de#e especificar en *ue celda de#e copiarse el elemento seleccionado de la lista
,uidado con esta propiedad9 tenga en cuenta *ue los elementos de la lista son tratados como datos de
tipo 2tring aun*ue contenga nmeros o fec$as9 por lo *ue en estos casos9 a (eces ser necesario aplicar
funciones de con(ersi"n de datos antes *ue el dato se copie en la $o?a <or e?emplo9 si alguna (eP
construye una lista con nmeros (er *ue el dato seleccionado se alinea a la derec$a9 si son fec$as9 no
se
muestra con el formato correspondiente
)R
Propiedad :ist5nde, del 'omboBo,
3ediante esta propiedad podremos sa#er *ue elemento de la lista es el seleccionado por su nmero de
orden As decir9 si est seleccionado el primero9 -istInde= (aldr U9 si est seleccionado el segundo
(aldr
19 etc 2i no $ay ningn elemento seleccionado (aldr F1 Tenga en cuenta *ue esta propiedad s"lo est
disponi#le en tiempo de e?ecuci"n9 es decir la podremos leer mientras est funcionando el programa9 no
se puede esta#lecer en modo dise:o9 o#ser(e *ue no aparece en la (entana propiedades del cuadro
com#inado
)T
:a funci!n 09E69%
Asta funci"n permite con(ertir un (alor numrico en un te=to 2u funci"n contraria es 03A:%R
Al escri#ir un nmero en una celda *ueda alineado a la derec$a9 si se escri#e como te=to
1anteponindole una comilla simple6 *uedar alineado a la iP*uierda A?emploL %7)
-a funci"n TAOTO tiene dos argumentos *ue segn la ayuda sonL D9E69%1valorYformato6
(alorL es el nmero *ue *ueremos con(ertir a te=to
formatoL es el formato *ue *ueremos darle As un argumento optati(o
<ero la ayuda no se corresponde con la realidad de la funci"n9 ya *ue en la prctica esta funci"n tiene
los argumentos cam#iados de orden
<rue#e DTAOTO1YG)'G6
<ero si prue#a DTAOTO1G)'G6 o#tendr un error
7U
'uriosidades de alguna funciones con valor propio
Algunos nom#res de funci"n tienen (alor propio si se escri#en un una celda y sin argumentos O al
menos eso es lo *ue $e podido compro#ar en la (ersi"n O<
<onga en una celda cual*uiera /<RA,IO y al pulsar intro (er *ue aparece un (alor A mi me da
F1T@7@R@N1)
-as funciones *ue $e (isto *ue tienen (alor propio son las siguientesL
=PRECIO -1965686714
=AMORTIZ.I! 147737814"
=C#PO!.$IA% -1799"&8673
=$#RACIO! -15&548139"
=V!A.!O.PER -&69746"88
=$IA%.A' &7"991416
y muc$as ms <or lo *ue (eo9 son las *ue aparece al ampliar las funciones al instalar las
complementarias9 con
/erramientas9 'omplementos9 /erramientas para Anlisis
71
'ambiar el nombre de un (!ludo
Al insertar m"dulos en el Aditor de ;isual Basic9 se utiliPan los nom#resL 3"dulo 19 3"dulo !9 etc
<odemos cam#iar el nom#re el un m"dulo en sus propiedades 1&)6 -a nica propiedad de un 3"dulo
es %name%
7! .ombre de usuario? 1ser.ame
;amos a crear una funci"n *ue proporcione el nom#re de usuario <rimero utiliPando la Xra#adora de
3acros 8aga lo siguiente Acti(e la Xra#adora y luego seleccione 8erramientas9 Opciones9 pesta:a
Xeneral Realice un cam#io en el nom#re de usuario ,errar la (entana de Opciones pulsando en
Aceptar 4 detener la Xra#adora -a macro o#tenida ser la siguienteL

2u# 3acro116
%
% 3acro1 3acro
% 3acro gra#ada el U@MURM!UU) por Adolfo
%
%
Jit$ Application
5serName D GAdolfo AparicioG
2tandard&ont D GArialG
2tandard&ont2iPe D G1UG
Cefault&ile<at$ D G,LQCocuments and 2ettingsQAdolfoQ3is documentosG
Ana#le2ound D &alse
RollWoom D &alse
And Jit$
And 2u#

A$ora (amos a crear la funci"n D5suario siguiendo el procedimiento in(erso

&uncition 5suario16
5suario D Application5serName
And &unction

<uede pro#arla -a encontrar en la categorHa de &unciones Cefinidas por el usuario
7'
E,tensiones de los nombres de macro
F (!dulos de clase A=tensi"n +cls
F Formularios A=tensi"n +frm
F (!dulos estandar A=tensi"n +bas
7)
E,it -ub7 E,it Function
2e usan e(entualmente para salir de un procedimiento o funci"n
77
(acro =ue pregunta si se desea salir de la aplicaci!n
2u# 2alirAplic16
If 3sgBo=1GZSuiere salir de la aplicaci"nG9 (#Suestion / (#4esNo9 G5ltima preguntaG6 D (#4es
T$en
ApplicationSuit
And If
And 2u#
7@ :lamada a un procedimiento
+,all. Nom#re<roc +1lista de argumentos6.
-a pala#ra cla(e ,all es opcional para llamar a un procedimiento9 sal(o *ue e=istan argumentos9 en
cuyo caso es o#ligatoria -os argumentos de#en ir entre parntesis y pueden ser (alores o (aria#les
2u# 2uma1a As Byte9 # As Byte6
3sgBo= G-a suma es G I a / #
And 2u#
2u# sumar16
,all 2uma1'9 )6
And 2u#

Para llamar a un procedimiento de otro m!dulo
Nom#reCel3"dulo+Nom#reCel<rocedimiento
Ejemplo: T$isJorK#ooK+2alirAplic

Para llamar a un procedimiento de otro libro
ApplicationRun GNom#reCel-i#ro[Nom#reCel3"duloNom#reCel<rocedimientoG
Ejemplo: ApplicationRun GInforme=ls[T$isJorK#ooK2alirAplic=lsG
Al e?ecutar este comando9 el li#ro Informe=ls de#e estar a#ierto
7N
Proteger con contraseAa las macros
Alt / &11
8erramientas D> <ropiedades de ;BA<ro?ect D> <rotecci"n D> Blo*uear proyecto para (isualiPaci"n D> ,ontrase:a
7R
'onvertir una funci!n en un 'omplemento
<odemos $acer *ue una funci"n creada por el usuario este disponi#le en todos los -i#ros <ara ello9
$emos de con(ertir el -i#ro *ue contiene la funci"n en un ,omplemento
-os ,omplementos disponi#les se (en $aciendoL 8erramientas D> ,omplementos
A=cel carga los complementos guardados en el directorio donde tengis instalado 3sOffice y luego en
una carpeta *ue (arHa con la (ersi"n *ue tengas instalada <ara O< puede serL
,LQCocuments and 2ettingsQAdolfoQCatos de programaQ3icrosoftQAddInsQ
<ara con(ertir el li#ro *ue contiene nuestra &unci"n en un ,omplemento9 #astara ir al 3en
Arc$i(oMXuardar como y elegir el formato ,omplemento de 3icrosoft A=cel 10=la6 2i lo guardis en
el directorio *ue tiene tu (ersi"n asignado estar siempre disponi#le
5n aspecto a tener en cuenta es *ue los ,omplementos no son edita#les9 es decir no podrs modificar o
a:adir mas &unciones <or eso es recomenda#le guardar primero el -i#ro en formato 0=ls y luego
como 0=la
7T /acer referencia a un RA.G%
2inta=is para $acer referencia a un RangoL
2i el rango est en la misma 8o?aL
Rango
2i est en otra 8o?a del mismo -i#roL
'Nombre de Hoja'!Rango
2i est en una 8o?a de otro -i#ro9 y el -i#ro se encuentra en la misma carpeta *ue el actualL
'[Nombre de Libro.xls]Nombre de Hoja'!Rango
2i est en una 8o?a de otro -i#ro9 y el -i#ro se encuentra en diferente carpeta *ue el actualL
'c:\Carpea\!"bCarpea\[Nombre de Libro.xls]Nombre de Hoja'!Rango
2i el rango est en otro ordenador conectado al nuestro por una IntranetL
'\\!er#idor\Carpea\[Nombre de Libro.xls]Nombre de Hoja'!Rango
2i el rango est en otro ordenador conectado al nuestro por IntrernetL
'$p:%%&&&.ser#idor.com%Carpea%[Libro.xls]Hoja'!Rango
-os ap"strofes 1
B
6 son necesarios si e=isten espacios
E#emploL <rue#a a poner esto en una celda de una $o?a de A=cel cual*uieraL
DB52,AR;1!UUY%$ttpLMMEEEfc?sur?cesMfinanM+#us*uedas=ls.8o?a1%[ta#1Y!6
2i todo (a #ien9 y tienes acceso a Internet (ers como respuesta la letra B
@U
Para locali2ar la Cltima celda de una lista
2u# &inal16
J$ile Acti(e,ell;alue <> GG
Acti(e,ellOffset119 U62elect
Jend
And 2u#
@1
Abrir un libro e,istente?
2u# A#rir-i#ro16
JorK#ooKsOpen 1G,LQ3is documentosQA?emplo=lsG6
And 2u#
Activar un libro &a abierto?
2u# A,ti(ar-i#ro16
JorK#ooKs1GA?emplo=lsG6Acti(ate
And 2u#
'rear un libro nuevo?
2u# Nue(o-i#ro16
JorK#ooKsAdd
And 2u#

@!
Borrar un registro de una tabla =ue contenga un dato concreto
2u# Borrar&ilas16
J$ile Acti(e,ell;alue <> GG
If Acti(e,ell;alue <> G,adiPG T$en
Acti(e,ellOffset119 U6Range1GA1G62elect
Alse
2electionAntireRoECelete
And If
Jend
And 2u#

@' 'reaci!n de una F!rmula personali2ada
,lculo del trmino amortiPati(o de un prstamo tipo francs 1de pagos constantes6 2imilar a la
f"rmula D<AXO pero en este caso usando tipo nominal y con fraccionamiento

&unction Termino1<rincipal\9 A:os As Byte9 tipoBnominal[9 fraccionamiento As Byte6
Cim im[ %Tipo efecti(o del su#periodo
im D tipoBnominal M fraccionamiento M 1UU
Termino D <rincipal 0 im M 11 F 11 / im6 ] 1FA:os 0 fraccionamiento66
And &unction
<ongamos un e?emplo para un principal de 1UUUUU ^9 1U a:os9 tipo nominal anual del @_9 con
fraccionamiento mensual An este caso9 al ser el fraccionamiento mensual el trmino o#tenido es la
mensualidad
2u# e?emplo16
And 2u#
@)
(acro =ue cierra E,cel
2e puede asociar a un #ot"n o a un icono
2u# AutoB,lose16
ApplicationSuit
And 2u#
@7
(acro =ue elimina las barras de despla2amiento

2u# Ces#arra16
Jit$ Acti(eJindoE
Cisplay8oriPontal2crollBar D &alse
Cisplay;ertical2crollBar D &alse
And Jit$
And 2u#
@@
(acro =ue protege el libro & la "o#a

2u# Blinda?e16
Acti(eJorK#ooK<rotect <assEordLDG1!')G
2$eets1G8o?a1G6<rotect <assEordLDG1!')G
And 2u#
@N
:a funci!n 0E69RAE & la funci!n 0E.'%.9RAR
2i en B@ pones el nom#re de una persona9 por e?emploL GAndrs 2uareP Oli(eiraG la siguiente funci"n
o#tiene las tres iniciales 1A2O6
DIWS5IARCA1B@Y16I/AOTRAA1B@YAN,ONTRAR1G GYB@6/1Y16IAOTRAA1B@Y/AN,ONTRAR1G
GYB@YAN,ONTRAR1G GYB@6/16/1Y16
@R
:a funci!n 0RE-5D1% permite calcular la parte Fraccionario
An A=cel disponemos de DANTARO *ue calcula la parte entera9 pero no disponemos de &RA, *ue
calcularia la parte fraccionaria <ara calcular la parte &raccionaria de#erHamos usar uno de estos dos
mtodosL
DA1FANTARO1A16
DRA2IC5O1A1Y16
@T
(acro =ue borra los ceros de un rango
2u# Borrar,eros16
&or Aac$ ,elda In Range1G,11LX!)G6
If ,elda;alue D U T$en ,elda,lear,ontents
Ne=t
And 2u#
2i s"lo se *uieren ocultar los ceros se $a de poner formato de celda personaliPado de ````
NU (acro =ue reempla2a una palabra por otra
2u# RemplaPar<ala#ra16
Cim <ala#ra As 2tring
Cim 8o?a As -ong
<ala#ra D Trim1InputBo=1GIntroduPca la pala#ra a #uscarL G66
&or 8o?a D 1 To 2$eets,ount
2$eets18o?a6Acti(ate
,ellsReplace J$atLD<ala#ra9 ReplacementLDGG9 -ooKAtLD=l<art9 B
2earc$OrderLD=lByRoEs9 3atc$,aseLD&alse9 2earc$&ormatLD&alse9 B
Replace&ormatLD&alse
Ne=t 8o?a
And 2u#
An este caso reemplaPamos por GG9 lo *ue supone #orrar la pala#ra #uscada
N1
'alculo del .5F
Asta funci"n calcula el NI& 1Nmero de Identificaci"n &iscal6 utiliPado en Aspa:a
&unction nif1dni As -ong6 As 2tring
nif D 3id1GTRJAX34&<COBNaW2S;8-,bAG9 1dni 3od !'6 / 19 16
And &unction
N!
Funci!n =ue calcula la fila =ue ocupa cierto valor en una tabla
Ast pensado para *ue la matriP se ponga comenPando en la celda A19 sin enca#ePado y sin *ue se
repitan los elementos
&unction Cime&ila1Rango As Range9 ;alorBaB#uscar6 As Integer
&or Aac$ c In Rango
If c;alue D ;alorBaB#uscar T$en
Cime&ila D cRoE
And If
Ne=t
And &unction
N'
Para poner el nombre del fic"ero en una celda
DAOTRAA1,A-CA1GNO3BRAAR,8I;OGYA16YAN,ONTRAR1G+GY
,A-CA1GNO3BRAAR,8I;OGYA166/1Y/1AN,ONTRAR1G.GY
,A-CA1GNO3BRAAR,8I;OGYA1666FAN,ONTRAR1G+GY
,A-CA1GNO3BRAAR,8I;OGYA166F16
Re*uiere gra#ar el fic$ero -as ) lHneas anteriores son una misma f"rmula
N)
Para poner el nombre de la "o#a en una
celdaDAOTRAA1,A-CA1Gnom#rearc$i(oG6YAN,ONTRAR1G.GY,A-CA1Gnom#rearc$i(oG66/1Y!776
Re*uiere gra#ar el fic$ero
N7
Funci!n =ue muestra la f!rmula de una celda
Ce(uel(e la f"rmula *ue contiene una celda en lengua?e local

&unction Cisplay,ell&ormula1Input,ell As Range6 As 2tring
Cisplay,ell&ormula D Input,ell&ormula-ocal
And &unction

2i se *uita la pala#ra %-ocal% de(uel(e la f"rmula en ingls
N@
Determinaci!n de si un nCmero es primo o no es primo
2u# primo16
Cim primo As Boolean
Cim n As -ong
Cim d As -ong
n D ;al1InputBo=1GIntroduce un nmero naturalG9 GAntrada de CatosG66
d D !
primo D True
Co J$ile primo And d < n
If n 3od d D U T$en
primo D &alse
And If
d D d / 1
-oop
If primo T$en
3sgBo= 1n I G es primoG6
Alse
3sgBo= 1n I G no es primoG6
And If
And 2u#
NN
Activar o Desactivar el empleo de la funci!n 5(P%R9ARDA9%-D5.A(5'%-
Al intentar operar con formulas *ue $acen referencia a celdas *ue pro(ienen de una ta#la dinmica con
la (ersi"n O< de A=cel nos encontramos con *ue automticamente nos pone la funci"nL
I3<ORTARCATO2CINA3I,O29 y nosotros preferirHamos *ue esto funcionara como antes
Asto se de#e a *ue desde Office O< la funci"n I3<ORTARCATO2CINA3I,O2 se acti(a por defecto
cuando nos referimos a celdas *ue forman parte de una ta#la dinmica
<ero podemos desacti(arla
<ara ello primero tendremos *ue lle(ar $asta alguna de las #arras de $erramientas un G#ot"nG9 llamado
GGeneral GetPivotDataG
<ara lle(ar este #ot"n $asta una #arra de $erramientas sigue estos pasos
2eleccionaL ;er9 Barra de 8erramientas9 <ersonaliPar
;e a la pesta:a G,omandosG A$ora selecciona la ,ategorHa GCatosG y en la (entana derec$a
1,omandos6 #usca el #ot"n GXeneral Xet <i(ot CataG 1est cerca del final9 apro=imadamente el
octa(o empePando por el final6 -le(a este #ot"n a la #arra de $erramientas de A=cel *ue prefieras 1esto
se $ace arrastrando el icono y soltndolo en alguna de las #arras de $erramientas6
A$ora9 todo lo *ue tendremos *ue $acer es pinc$ar este #ot"n para acti(ar M desacti(ar la funci"n
I3<ORTARCATO2CINA3I,O29 *ue (iene acti(ada por defecto
NR Factorial
&unction facto1n6
Cim i As Integer
facto D 1
i D U
Co
i D i / 1
facto D facto 0 i
-oop J$ile i <> n
And &unction
NT
5niciali2ar una matri2
2e inicialiPa con ERA-E
An este caso se ponen todos los (alores a Ampty
2u# test16
Cim c11 To !U9 1 To 1U6 As ;ariant
&or i D 1 To !U
&or ? D 1 To 1U
c1i9 ?6 D RNC
Ne=t ?
Ne=t i
3sgBo= c11916
Arase c
3sgBo= c11916
And 2u#
%An este caso se pone la (aria#le c a su estado inicial
%Borrandose los (alores9 las dimensiones y recuperandose
%la memoria usada
2u# test116
Cim c As ;ariant
c D Acti(e2$eetRange1GA1La!UG6;alue
3sgBo= c119 16
Arase c
%Asto dara error ya *ue no $ay ninguna matriP
3sgBo= c119 16<ara e(itar *ue durante la e?ecuci"n de una macro se (ean todos los mo(imientos y
cam#ios del cursor9 para e(itar las Gc$iri(itasG *ue se (en al e?ecutar una macroL
And 2u#
RU
Evitar los movimientos de pantalla mientras se e#ecuta una macro
<ara e(itar *ue durante la e?ecuci"n de una macro se (ean todos los mo(imientos y cam#ios del cursor9
para e(itar las Gc$iri(itasG *ue se (en al e?ecutar una macroL
Al principio de la macro escri#e
Application2creen5pdating D &alse
y al final
Application2creen5pdating D True
R1
Formula referida siempre a un mismo rango
D253A1INCIRA,TO1GA1LB!G66
Asta e=presi"n permite sumar siempre el rango indicado aun*ue dic$o rango se mue(a a otra Pona de la
$o?a
R! )"ile+++)end
Asta estructura permite e?ecutar las instrucciones contenidas mientras la condici"n sea (erdadera
-a siguiente macro posiciona el cursor en la ltima celda llena de la columna A de la 8o?a1
%u( )*n+l1()
* = 1
,-*le ,o./0-ee10(23o4+12).Cell0(*5 1).V+lue 67 22
,o./0-ee10(23o4+12).Cell0(*5 1).%ele81
* = * 9 1
,en:
En: %u(
Otra (arianteL
2u# final!16
J$ile Acti(e,ell;alue <> GG
Acti(e,ellOffset119 U62elect
Jend
Acti(e,ellOffset1F19 U62elect
And 2u#
-a segunda macro re*uiere posicionar inicialmente el cursor en la primera celda llena
R'
'ontar cuantas veces se repite un mismo caracter en un te,to
D/-ARXO1&'6F-ARXO1252TIT5IR1&'YGFGYGG66
Asta f"rmula cuenta cuantos guiones 1F6 e=isten en un te=to *ue esta en la celda &'
R)
(ane#o de Rangos
<ara se:alar una ta#la se $ace con ,urrentRegion 5n e?emploL
Cim R As Range
Cim filas As -ong
2et R D Range1GA1G6,urrentRegion
filas D RRoEs,ount