
English: 
(bright music)
- [Instructor] Well, hello there
and welcome to VBA coding for Excel.
My name is Chelsea Dohemann
and we are going to be learning
a whole heck of a lot
about Visual Basic for Applications.
Now, of course, Visual
Basic for Applications,
which is what VBA stands for,
does have the word applications in it.
That sort of implies
more than one application.
So it does actually work
in the other programs
in the Microsoft Office suite.
However, in this particular class,
we are really going to
be focusing on Excel,
which is, in my opinion,
one of the places in which
it has the greatest utility
for the largest number of people.
In this beginner class,
we're going to start off
really nice and simple.
So if you've never heard of macros,
or maybe you've seen one
that somebody else made,
you are in the right place.
If you've already created your own macros,
don't worry, stay tuned
and pretty soon we'll be in the middle of

Spanish: 
- [Instructora] Hola
y bienvenidos a
codificación VBA para Excel.
Mi nombre es Chelsea Dohemann
y vamos a aprender
mucho
sobre Visual Basic para Aplicaciones.
Ahora, por supuesto, Visual
Basic para Aplicaciones,
que es lo que VBA significa,
tiene la palabra aplicaciones en él.
Eso implica
más de una aplicación.
Así que de hecho funciona
en otros programas
del paquete de Microsoft Office.
No obstante, en esta clase en particular,
vamos a enfocarnos en Excel,
que es, en mi opinión,
uno de los lugares donde
tiene mayor utilidad
para la mayor cantidad d personas.
En esta clase para principiantes,
vamos a empezar de forma
agradable y sencilla.
Así que si nunca han
oído hablar de macros,
o quizás han visto uno
que alguien más hizo,
están en el lugar correcto.
Si ya han creado sus propios macros,
no se preocupen, quédense conectados
y pronto estaremos en medio de

English: 
amazing stuff for you.
In the beginning videos,
we're going to start by discussing
the basics of VBA and its language,
displaying the Developer
tab of the Excel ribbon,
recording some basic macros,
learning some VBA terminology,
figuring out how to use the VBA interface,
which I do have up over here,
we will talk about how to
bring that up together,
writing macros,
debugging macros
and adding them as buttons in the ribbon
or in the interface of Excel.
So I could add it as an
extra button over here,
or I could add it directly
into the interface as well.
For this little bit,
you get to just sit back
and listen and watch.
Don't worry,
I won't do anything cool without you.
So what is VBA?
As we discussed earlier,
VBA stands for Visual
Basic for Applications
and on the right-hand side of my screen,
you will see a window over here

Spanish: 
cosas increíbles para ustedes.
En los primeros videos,
empezaremos a discutir
las bases de VBA y su lenguaje,
mostraremos la pestaña
Programador en la cinta de Excel,
grabaremos macros básicos,
aprenderemos terminología de VBA,
descubriremos cómo usar la interfaz VBA,
que tengo aquí arriba,
hablaremos sobre cómo unir eso,
escribiremos macros,
depuraremos macros
y los agregaremos como botones en la cinta
o en la interfaz de Excel.
Podría agregarlo como un botón extra aquí,
o lo podría agregar
directamente a la interfaz.
Por este rato,
pueden sentarse y escuchar y ver.
No se preocupen,
no haré nada genial sin ustedes.
¿Qué es VBA?
Como discutimos antes,
VBA significa Visual
Basic para Aplicaciones
y a la derecha de mi pantalla,
verán una ventana por aquí

English: 
that looks pretty old-fashioned.
And that's because VBA is old-fashioned.
This is my VBA window over
here on the right-hand side.
And you'll see that there is
something that kind of looks
like the old-fashioned
ribbon that we used to have,
which really looks more like
my quick access toolbar, right?
And then up here,
I do have these
old-fashioned dropdown menus.
So for those of us who thought
we were done with using those,
we are going to see them in VBA.
And we'll talk about what
each one of these does.
I'm also going to see in
VBA on the left-hand side,
a project panel under
here's the properties panel.
We'll talk a whole lot later
about what each one of these does.
And then on the right-hand side,
I will see a coding window over here
that would actually have code in it,
if I actually had code here.
Now, I don't have any
code here specifically,
but in my project panel
on the left-hand side,
and we'll go over this in detail,
I'm going to find one of my
modules that does have some code
and here my code is.
This is what the actual
code in VBA looks like.

Spanish: 
que se ve bastante anticuada.
Eso es porque VBA es anticuado.
Esta es mi ventana VBA
aquí al lado derecho.
Verán que hay algo que parece
como una cinta anticuada
que solíamos tener,
y que parece más mi barra de
herramientas de acceso rápido.
Y luego, aquí arriba
tengo estos menús desplegables anticuados.
Para aquellos que creímos
que ya no tendríamos que usarlos,
los veremos en VBA.
Y hablaremos sobre lo que
cada uno de ellos hace.
También veré en VBA al lado izquierdo
un panel de proyecto,
aquí debajo está el panel de propiedades.
Hablaremos mucho después
de lo que hace cada uno de ellos.
Luego, en el lado derecho,
veré una ventana de codificación aquí
que podría tener un código
si tuviera un código aquí.
No tengo un código aquí específicamente,
pero en mi panel de proyecto
en el lado izquierdo,
y veremos esto detalladamente,
buscaré uno de mis módulos
que sí tiene un código
y aquí está mi código.
Así es como se ve el código real en VBA.

English: 
So let's talk about what
the point of any of this is.
VBA is a tool for programming,
editing and running application code .
By application code, I mean,
whatever the host application
is, in this case Excel.
So the whole point of all
this language over here
is to actually run it
using Excel.
So run it in Excel.
VBA is not a standalone program, right?
It can usually only run code
within a host application.
So it's going to run all this
code inside of Excel itself.
It is a combination of Microsoft's
event-driven program language,
which is a fancy name for
just the VB, right, Visual Basic,
which is what we tend to call
the language that we use here.
It's a combination of the language
with the integrated
development environment,
which is a really fancy name
for the whole VBA interface.

Spanish: 
Hablemos de cuál es el punto de todo esto.
VBA es una herramienta para programar,
editar y ejecutar un código de aplicación.
Con código de aplicación me refiero a
cualquiera que sea la aplicación huésped,
en este caso, Excel.
El punto de todo este lenguaje
es de hecho ejecutarlo
usando Excel.
Así que ejecútenlo con Excel.
VBA no es un programa
independiente, ¿cierto?
Usualmente, solo puede ejecutar un código
dentro de una aplicación huésped.
Así que ejecutará este
código dentro de Excel.
Es una combinación del
lenguaje de programación
dirigido por eventos de Microsoft,
que es una forma elegante para
solo VB, Visual Basic,
que es como tendemos a llamar
el lenguaje que usamos aquí.
Es una combinación del lenguaje
con el ambiente de desarrollo integrado,
que es un nombre muy elegante
para toda la interfaz VBA.

English: 
One of the really neat things
that VBA does allow us to do
that we wouldn't otherwise be able to do
is it allows us to custom
design our own functions.
So let's say in Excel,
I need to regularly
add some things up.
So I got some numbers here
and I want to add them up.
There's a neat function that does that,
It's called SUM.
It allows me to just grab some
stuff here and add it all up.
Just like that.
Now this function has
already been programmed by Excel, right?
So the Excel programmers decided,
oh, there's this thing
that would be really
handy for most people,
we'll call it SUM, it adds some stuff up.
Now let's say I need to
be able to do something
for which there isn't
already a function in Excel.
In that case,
I'm going to need to make my own;
I can't actually do that in Excel,
but I can do that with VBA.
So I can come over here
into my VBA interface
and design a function here.
And then once I've designed it in VBA,
I can actually use it in Excel.
So if you need to calculate
the area of a triangle,
there's not a function that
does that, but you can make one.

Spanish: 
Una de las cosas geniales
que el VBA nos permite hacer
que no podríamos hacer de otra forma
es que nos permite diseñar nuestras
propias funciones personalizadas.
Digamos que en Excel
regularmente necesito
sumar cosas.
Tengo unos números aquí y quiero sumarlos.
Hay una función genial que hace eso,
se llama SUM.
Me permite agarrar cosas aquí y sumarlas.
Así nomás.
Esta función ya
ha sido programada por Excel, ¿verdad?
Los programadores de Excel decidieron,
oh, esta cosa
sería muy útil para la
mayoría de las personas,
la llamaremos SUM, suma cosas.
Ahora digamos que necesito hacer algo
para lo que no hay una función en Excel.
En ese caso,
necesitaré hacerla yo;
no puedo hacer eso en Excel,
pero lo puedo hacer con VBA.
Así que puedo venir aquí a mi interfaz VBA
y diseñar una función aquí.
Una vez que la he diseñado en VBA,
puedo usarla en Excel.
Así que si necesitan calcular
el área de un triángulo,
no hay una función que hace
eso, pero pueden hacer una.

Spanish: 
Si necesitan calcular cambio
porcentual a través del tiempo,
no hay una función estándar
en Excel que haga eso,
pero la pueden hacer,
la pueden hacer en VBA y
la pueden seguir usando.
Una de las últimas cosas
de las que hablaremos
que es muy importante saber sobre
Visual Basic para Aplicaciones
es que se expande
a partir de las habilidades
de lenguajes anteriores de
programación macro
específicos de una aplicación.
Así que se expande a partir
de lenguajes anteriores
como Word Básico de Word.
Porque se expande en estos
lenguajes más antiguos,
veremos algunos lenguajes muy viejos
y algunos lenguajes muy nuevos.
Con cada nueva encarnación
de Microsoft Office,
también hay actualizaciones de VBA.
Así que notarán a medida que
vayamos aprendiendo sobre VBA
que verán algunas
instrucciones de codificación
un poco anticuadas
junto a algunas instrucciones
de codificación nuevas.
Hablaremos sobre eso mucho más
una vez que lleguemos ahí.

English: 
If you need to calculate
percent of change over time,
there is not a standard function
in Excel that does that,
but you can make one,
you can make one in VBA and you
can use it from then on out.
And one of the last
things we'll talk about,
that's really important to know about
Visual Basic for Applications
is that it does expand
on the abilities of earlier
application-specific
macro programming languages.
So it expands on earlier
languages like Word's Word Basic.
Because it expands on
these older languages,
we're going to see some
language that's really old
and some language that is new.
With every new incarnation
of Microsoft Office,
there are updates to VBA as well.
So you'll notice throughout
our learning about VBA,
that you will see some coding statements
that are a little bit old-fashioned,
right next to some coding
statements that are brand new.
And we'll talk about that a whole lot more
once we actually get there.

Spanish: 
Programación orientada a objetos es
una excelente descripción
para el lenguaje de
programación que usaremos
a medida que vayamos
conociendo VBA un poco.
La programación orientada a
objetos es un gran descriptor
para el tipo de lenguajes
que tienden a usarse
en muchas aplicaciones estos días.
Probablemente, la mayoría
de aplicaciones que usan
están basadas en algún tipo
de programación como esa.
Ciertamente, todo Microsoft,
todas las aplicaciones
estándares de Microsoft Office
están basadas en un lenguaje
de programación orientado a objetos.
Hablemos de qué se
supone que significa eso.
Eso significa que en segundo plano
hay todo un lenguaje de
programación sucediendo
y cada una de estas
instrucciones que sucede
empieza definiendo algún tipo de objeto.
En todas sus aplicaciones de Microsoft,
probablemente han notado que para realizar
cualquier tipo de cambio,
siempre tienen que seleccionar
lo que quieren cambiar primero.

English: 
Object Oriented Programming
is an excellent description
for the coding language that
we are going to be using
as we get to know VBA a little bit.
Object Oriented Programming
is a great descriptor
for the kinds of languages
that tend to be used
with a lot of applications these days.
So probably most of the
applications that you're using
are based on some kind
of programming like that.
Certainly all of the Microsoft,
all the standard Microsoft
Office applications
are based on an object
oriented programming language.
Let's talk about what
that is supposed to mean.
What that means is that behind the scenes,
there is all this programming
language that happens
and each one of these
statements that happens
starts by defining some kind of an object.
In all of your Microsoft applications,
you've probably noticed
that in order to effect
some kind of a change,
you always have to select
on the thing that you
want to change first.

English: 
For instance, maybe I
want to delete some text
in cell B4.
Well, I know because I've
been using these programs
for a long time that I need
to actually click on B4
or select B4 first,
before I can actually
delete the stuff there.
Because I have selected on it,
I can now delete the
things that are in there.
I could also change the
color of a cell, but again,
I must select it first.
So I'm selecting F5 here,
and I'm going to turn it green.
In order to make that kind of a change,
I do have to select the object
that I want to change first.
Let's say now I want
to make a change to A1.
Is there any way for me
to make a change to A1
without
selecting A1 first?
The answer is no.
And the reason is that the beginning
of every programming statement
must start by defining the object
I want to make a change to.
So in the last circumstance,
I had to select on the cell
and then delete the content, right?
In this example here,

Spanish: 
Por ejemplo, quizás
quieren borrar algún texto
en la celda B4.
Sé porque he estado usando estos programas
por mucho tiempo que de
hecho necesito dar clic en B4
o seleccionar B4 primero
antes de poder borrar algo ahí.
Porque la seleccioné,
ahora puedo borrar las
cosas que están ahí adentro.
También podría cambiar el
color de una celda, pero
debo seleccionarla primero.
Así que estoy seleccionando F5 aquí
y la voy a volver verde.
Para poder hacer ese tipo de cambio,
debo seleccionar el objeto
que quiero cambiar primero.
Digamos que ahora quiero
cambiar algo en A1.
¿Hay forma de hacer un cambio en A1
sin
seleccionar A1 primero?
La respuesta es no.
La razón es que el inicio
de cada instrucción de programación
debe empezar definiendo el objeto
al que quiero hacerle el cambio.
En la última circunstancia,
tuve que seleccionar la celda
y luego borrar el contenido, ¿cierto?
En este ejemplo,

Spanish: 
tuve que seleccionar la celda
primero y luego volverla verde
No puedo hacer cambios sin
seleccionar un objeto primero.
La razón es que estas instrucciones,
este es un ejemplo muy simple,
quiero que ignoren la mayor
parte de lo que ven aquí,
así que ignoren todo esto.
Solo vean el puro principio.
Esta instrucción en la parte de arriba
está definiendo un objeto
primero, está diciendo,
oh, esa cosa sobre la que diste clic,
hazle esto, ¿cierto?
Bueno.
Vamos a ver que se utiliza
esta terminología una y otra
y otra vez.
Siempre vamos a necesitar
establecer un objeto primero.
Piensen en ello como un sustantivo.
Mi perro va a salir a caminar, ¿cierto?
En ese caso, mi perro es
el sustantivo, ¿cierto?
Mi perro es el objeto de esa oración,
esa instrucción, ¿cierto?
Así que un sustantivo y un
objeto son como sinónimos.
En este caso, vamos a hablar mucho más
sobre las otras opciones
gramaticales que tenemos
en el lenguaje de programación VBA,

English: 
I had to select on the cell
first and then turn it green.
I cannot make any changes without
selecting an object first.
And the reason is that
in these statements,
this is a really simple example over here,
I want you guys to ignore
most of what you see here,
so ignore all this stuff here.
Just take a look at the very beginning.
This statement here at the very top,
it's defining an object
first, it's saying,
oh, that thing that
you already clicked on,
do this to it, right?
Okay.
So we're going to see this
terminology used over and over
and over again.
We're always going to need
to state an object first.
You can kind of think of it like a noun.
My dog is going for a walk, right?
In that case, my dog is the noun, right?
My dog is the object of that sentence,
that statement, right?
So a noun and an object
are sort of synonymous.
In this case, we are going to
be talking a whole lot more
about the other grammatical
options that we have
in VBA programming language,

English: 
but we're starting with
the one called an object.
So in this case, I want to
make changes to cell A1.
So I have to click on cell A1.
And if I were actually
converting this into code,
you would actually see the
beginning of the statement say,
cell A1, that's the
first thing it would say.
Okay, so that's what
object oriented programming
actually means to us.
If we want to get a little
bit more techie with it,
we could get into the fact
that it's based on, obviously,
as we've already said,
the concept of objects,
which are data structures that
contain data about an object
as well in the form of
properties and also code
in the form of methods.
And again,
we will be talking about this all later.
But that is the basics of
Object Oriented Programming languages.
In the next section,
we're actually going to be
jumping up and doing some stuff.
So for everybody,
who's just been hanging
out with me so far.
Maybe you've just been sitting back
and just watching these
first couple of things
that we talked about,
now is the time for us to actually pop up
and start working on some stuff together.

Spanish: 
pero empezaremos con
aquella llamada objeto.
En este caso, quiero aplicar
cambios a la celda A1.
Así que debo dar clic sobre A1.
Y si estuviéramos
convirtiendo esto a un código,
podrían ver que el principio
de la instrucción dice
celda A1, eso es lo primero que diría.
Eso es lo que programación
orientada al objeto
significa para nosotros.
Si quisiéramos ponernos un
poco más tecnólogos con esto,
podríamos hablar de que
se basa en, obviamente,
como ya mencionamos, el
concepto de objetos, que son
estructuras de datos que
contienen datos sobre un objeto
en forma de propiedades y del código
en forma de métodos.
Y, de nuevo,
hablaremos sobre esto más tarde.
Pero esos son los fundamentos de
los lenguajes de programación
orientados a objetos.
En la siguiente sección,
vamos a activarnos y hacer algunas cosas.
ASí que para todos
los que han estado pasando
el rato conmigo hasta ahora.
Quizás se han estado relajando
y viendo este primer par de cosas
de las que hablamos,
ahora es el momento de realmente aparecer
y empezar a trabajar en
algunas cosas juntos.

English: 
So what I want you to
do is pause the video
and open up Excel for yourself.
So I want you guys to open
up your Excel program,
pause the video and do that.
And once you have it open,
continue to the video,
and then we will start making
those basic modifications to Excel
so that we can start making some macros.
All right, so hopefully
you're all caught up with me.
Hopefully you have already opened Excel
and opening up a completely
blank workbook is fine.
I am in my template
called book one, right?
That's the one that we get into
every time we open up Excel
and just say, we just
want a blank workbook.
And I do have my window
fully expanded here.
I am in Excel 2016.
However, I have mentioned
this in the first video,
but it definitely bears repeating.
If you are using an earlier
version of the program
like Excel 2007, Excel 2010
or Excel 2013,
everything that we're going
to be doing in this class
is also doable in each one of
those versions of the program.

Spanish: 
Lo que quiero que hagan es pausar el video
y abrir su Excel.
Quiero que abran su programa de Excel,
pausen el video y hagan eso.
Una vez que lo hayan abierto,
continúen con el video
y empezaremos a hacer
algunas modificaciones básicas en Excel
para empezar a hacer algunos macros.
Espero que vayan conmigo.
Espero que ya hayan abierto Excel
y abrir un nuevo libro de
Excel en blanco está bien.
Estoy en mi plantilla
llamada libro 1, ¿cierto?
Ahí es donde entramos
cada vez que abrimos Excel
y digamos que solo queremos
un libro en blanco.
Tengo mi ventana completamente expandida.
Estoy en Excel 2016.
No obstante, mencioné
esto en el primer video,
pero definitivamente no
está de más repetirlo.
Si están usando una versión
antigua del programa
como Excel 2007, Excel 2010
o Excel 2013,
todo lo que haremos en esta clase
también puede hacerse en
esas versiones del programa.

English: 
If you are using an older
version of that, no worries.
There might be little
things here and there
that cause a little bit of a hiccup.
And by simply Googling
those little things,
we tend to be able to
find fixes very quickly.
They're usually the very first thing
that comes up in our Google search.
Now in Excel 2016, it looks
a whole lot like Excel 2013.
I do have my normal tabs of the ribbon
on the upper left-hand side of my screen.
I have my File tab, my Home tab,
Insert, Page Layout,
Formulas, Data, Review, View.
And then I have this area that says,
tell me what you want to do.
This is one of the new features of 2016.
It is pretty cool in here.
I could look for anything,
like I want to make something bold
and I could just access
the bold tool right there.
And it actually turns it
on directly from up there.
So if I wanted to insert a pivot table
and I couldn't figure out
where those are, right,
you can access it there.
It's pretty cool.
Anyway, so the one tab of
the ribbon that I do need
that I don't see is
called the Developer tab

Spanish: 
Si están usando una versión
más antigua, no se preocupen.
Podría haber algunas cosas por aquí o allá
que ocasionen algún pequeño contratiempo.
Si simplemente las buscamos en Google,
encontraremos soluciones muy rápidamente.
Usualmente, son las primeras cosas
que aparecen en nuestra
búsqueda de Google.
Ahora, Excel 2016 se
parece mucho a Excel 2013.
Tengo mis pestañas normales de la cinta
en el lado superior
izquierdo de mi pantalla.
Tengo mi pestaña de Archivo,
pestaña de Inicio, Insertar,
Disposición de Página,
Fórmulas, Datos, Revisar, Vista.
Luego, tengo esta área que dice,
dime qué quieres hacer.
Esta es una de las nuevas
características de 2016.
Es bastante genial aquí.
Podría buscar lo que sea,
si quisiera poner algo en negrita,
simplemente podría acceder
a la herramienta aquí.
Y de hecho se enciende
directamente desde aquí.
Si quisiera insertar una tabla dinámica
y no supiera dónde están,
pueden acceder a ella aquí.
Es bastante genial.
La única pestaña de la
cinta que sí necesito
y que no veo se llama
la pestaña Programador

Spanish: 
y vamos a tener que activarla
para poder jugar con todas las cosas macro
que vamos a estar viendo.
Eso es lo primero que vamos a hacer.
Cuando queramos
personalizar nuestra cinta,
esa es una personalización de Excel.
Cuando queramos personalizar Excel,
podemos acceder a esas
opciones en la pestaña Archivo.
Si vamos hasta el final
de la pestaña Archivo,
veremos el ítem del
menú que dice Opciones.
Podemos dar clic sobre él.
Eso abrirá nuestra ventana
de Opciones de Excel.
Ahí hay muchas características
de personalización increíbles
Vamos a saltar directamente hacia abajo
a la opción que dice
Personalizar la Cinta.
En el lado derecho de la
ventana de Personalizar la Cinta,
verán una lista de pestañas de la cinta
que están actualmente habilitadas.
Si hay alguna pestaña de
la cinta inhabilitada,
las casillas a su lado
estarán desmarcadas.
En mi caso, sí tengo una pestaña
de la cinta llamada Programador.
No obstante, la casilla está desmarcada.
Esa es en realidad la pestaña que quiero.

English: 
and we're going to need to turn it on
in order to be able to play
with all of the macro stuff
that we're going to be taking a look at.
So that's the first thing
that we're going to do.
Anytime we want to customize our ribbon,
that is a customization of Excel.
Any time we want to customize Excel,
we can access those
options in the file tab.
And if we go to the file tab
all the way down at the bottom,
we'll see the menu item that says Options.
We can click on that.
That will open our Excel Options window.
A bunch of amazing
customization features in here.
I'm going to have us skip right down
to the option that says,
Customize the Ribbon.
And on the right-hand side of the
Customize the Ribbon window,
you will see a list of
the tabs of the ribbon
that are enabled currently.
And if you have any tabs of
the ribbon that are disabled,
the boxes next to them will be unchecked.
In my case, I do have a tab of
the ribbon called Developer.
However, the box is unchecked.
Now that's actually the tab I want.

Spanish: 
Para poder obtener esta pestaña,
voy a dar clic en la casilla y clic, bien.
Eso habilitará esa pestaña
de la cinta para mí.
Puedo darle clic y verla.
Ahí es donde vamos a empezar.
Eso es lo primero que necesitamos hacer,
hagan eso conmigo, por favor.
Vayan a su pestaña de Archivo,
bajen hasta donde dice Opciones.
Vamos a buscar la habilidad
de Personalizar la Cinta.
En el lado derecho,
vamos a buscar la pestaña
llamada Programador.
Den clic en la casilla y clic en Aceptar.
¿Por qué no pausan el video
y se aseguran de haber hecho eso
y que de hecho pueden
ver todas las opciones
en la pestaña de Programador?
Una vez que hayan hecho
eso, regresen conmigo
y empezaremos a grabar algunos macros.
Para nuestra suerte, actualmente
no necesitamos saber nada de codificación
para crear nuestro propio macro
porque tenemos esta
maravillosa herramienta llamada
la Grabadora de Macros.
En la pestaña Programador,
en el lado izquierdo,

English: 
So in order to be able
to actually get this tab,
I'm going to click on
the box and click, Okay.
And that's going to enable
that tab of the ribbon for me.
I can click on it and take a look on it.
And that is where we're
going to get started here.
So that's the first
thing that we need to do,
do that with me, please.
Go to your File tab,
go all the way down to Options.
We're looking for the ability
to Customize the Ribbon.
And on the right-hand side,
we're going to find the tab
called the Developer tab.
Check the box and click Okay.
Why don't you go ahead and pause the video
and make sure that you have done just that
and that you can actually
see all of the options
on the Developer tab.
And once you've done that, come rejoin me
and then we will actually
start recording some macros.
Lucky for us these days,
we don't actually have to
know any coding whatsoever
to create our very own macro
because we have this amazing tool called
the Macro Recorder.
On the Developer tab,
on the left-hand side,

English: 
you're going to see a
command group called Code.
In that command group,
you're going to see a lot of buttons
that we're going to be clicking on today.
The very first one that we're
going to start playing with
is Record Macro.
VBA,
what it does when we click on Record Macro
is it watches everything
that we do in Excel,
and then it converts it into code.
And once we have that
code stored safely in VBA,
we can choose to re-execute
that whenever we want.
So let's say for instance,
a couple of times a day,
I'm getting these reports
from a neighboring department
and it's my job to put on a report title.
And then I also have to
format that report title.
Maybe I have to turn it bold
and italics and underline,
and I have to put an outline on it
and I have to turn it green
and I have to make the text white
and I have to make it bigger.
Maybe I have to do that every single time
I need to put this report title in.
If I need to do that every single time,
that's six or seven steps
that I might forget one of,

Spanish: 
verán un grupo de
comandos llamados Código.
En ese grupo de comandos,
verán muchos botones
a los que vamos a darles clic hoy.
El primero con el que empezarán a jugar
es Grabar Macro.
VBA,
lo que hace cuando damos
clic en Grabar Macro
es que observa todo lo
que hacemos en Excel
y luego lo convierte en código.
Una vez que tenemos el
código almacenado en VBA,
podemos elegir volver a
ejecutarlo cuando queramos.
Digamos, por ejemplo, que
un par de veces al día
recibo informes de un departamento vecino
y es mi trabajo colocar
un título al informe.
Además, también debo darle
un formato a ese título.
Quizás debo ponerlo en negrita
con itálicas y subrayado,
y debo ponerle un contorno
y debo volverlo verde
y debo poner el texto en blanco
y debo hacerlo más grande.
Quizás debo hacer eso cada vez
que tengo que incluir
este título del informe.
Si debo hacer eso cada vez,
esos son seis o siete pasos
de los que podría olvidar uno,

Spanish: 
o quizás quiero poder delegar
esta tarea a alguien más
y me preocupa que ellos
olviden uno de los pasos
o posiblemente les estoy pidiendo
hacer muchas cosas en este proceso
y me preocupa que no sepan
cómo hacer alguna de ellas, ¿cierto?
Quizás no saben dónde
encontrar el botón de Borde.
En ese caso, preferiría
guardar el proceso
como un macro y que VBA
vuelva a hacer estos pasos por mí
cuando yo quiera.
Voy a borrar los contenidos aquí
para que podamos hacer esto juntos.
Vayan a la pestaña Programador.
Voy a pedirle a VBA que
por favor observe todo lo que yo haga
en la próxima sección pequeña
y lo almacene como macro
para poder volver a él cada vez que
necesite generar un título del informe.
El Grabador de Macro
va a hacer eso por mí.
Voy a dar clic sobre el Grabador de Macro.
Lo primero que me va a pedir hacer
es nombrar el macro que estoy creando.
También me va a preguntar

English: 
or maybe I want to be able to delegate
this task to somebody else
and I'm concerned that they
will forget one of the steps
or possibly I'm asking them to do
a bunch of these things in this process
and I'm concerned that
they don't actually know
how to do one of them, right?
Maybe they don't know where
to find the border button.
In that case, I would really prefer
if I could save the process
of going through this
as a macro and then have VBA
redo all these steps for me
whenever I would like.
All right, I'm going to
clear out the contents here,
so we can all do this together.
Go into the Developer tab.
And I'm going to ask VBA to
please watch everything that I do
in the next little section
and store it as a macro
so that I can rerun it every single time
I need to generate a report title.
So the Macro Recorder is
going to do that for me.
I'm going to click on Macro Recorder.
And the first thing
it's going to make me do
is name this macro that I'm creating.
It's also going to ask me

English: 
if I want to assign a shortcut key here,
and then it's going to ask me
where I want to store this macro.
So here are the details here.
The macro name,
there is a naming convention for this.
We must have no spaces.
It also has to start with a letter.
So I'm going to call this
report title, no space.
If you would like a space in there,
you can just put an underscore in there.
That'll help you synthesize a
space, but you don't have to.
You can assign a shortcut
key if you would like.
Maybe I'll call this Control.
Control comes free of charge.
You don't actually get a choice
whether or not to use the Control.
You always have to have it,
which is actually a good thing
because if I assigned it to
something really commonly used,
the problem is that it
replaces or it overwrites,
or it ignores other shortcuts that I have.
So for instance,
if I use Control + S all the
time to save my documents,
if I assigned Control + S to a macro,
what it would do is
ignore the save function
and it would just run my macro.

Spanish: 
si quiero asignar una tecla de atajo aquí,
y luego me va a preguntar
dónde quiero almacenar este macro.
Aquí están los detalles.
El nombre del macro,
hay una convención para nombrar esto.
No debe haber espacios.
También debe empezar con una letra.
Así que voy a llamar esto
Titulodeinforme sin espacios.
Si quisieran un espacio ahí,
pueden colocar un guión bajo en medio.
Eso ayudará a sintetizar un
espacio, pero no es necesario.
Pueden asignar una tecla
de atajo si quieren.
Quizás llamaré esto Control.
Control es gratuito.
No tienen opción
en cuanto a usar o no usar Control.
Siempre deben tenerlo,
lo cual en realidad es algo bueno
porque si lo asigno a algo
que se usa comúnmente,
el problema es que lo
reemplaza o lo reescribe
o ignora otros atajos que tengo.
Así que, por ejemplo,
si uso Control +G todo el tiempo
para guardar mis documentos
si le asigno Control +G a un macro,
lo que haría sería ignorar
la función de guardar
y simplemente ejecutaría mi macro.

English: 
So I do want to be really mindful of this.
That's why a lot of us macro recorders,
frequent macro recorders
tend to assign shortcut keys
that also have a shift in there.
So I'm going to put my Shift + S in
or my, in this case, I'm
going to put Shift + R
and you'll see that I do have this
Shift added to the shortcut key.
Now, there are a couple
of different places
where you can store your macro.
You can store it in this workbook,
or you can store it in your
personal macro workbook.
The differences are,
if you store it in this workbook,
it will be able to travel
with this document.
So you can send it off to a coworker.
They will also be able to use this macro.
So that's kind of nice.
However,
it does mean that you can't really use it
in any of your other Excel documents,
unless you also have this one open.
So if I want to be able to use
this macro across the board
in all kinds of different
documents as well,
instead, gonna store it in
my personal macro workbook.
Now, for our purposes,
I'm going to have us
store it in this workbook.
That's going to make it easier for us.
This is a really simple example,
probably gonna want to
delete it after we do it.

Spanish: 
Así que quiero que estén
muy conscientes de esto,
Por eso muchos de nosotros
que grabamos macros
frecuentemente tendemos
a asignar teclas de atajo
que también incluyen
la tecla de mayúsculas.
Así que pondré Mayus +S
o, en este caso, pondré Mayus +R
y verán que tengo esta
Mayus agregada a la tecla de atajo.
Hay un par de lugares diferentes
donde pueden almacenar su macro.
Pueden almacenarlo en este libro de Excel
o pueden almacenarlo en su
libro personal de macros.
Las diferencias son que
si lo guardan en este libro,
podrá viajar con este documento.
Así lo pueden enviar a
un compañero de trabajo
que también podrá usar este macro.
Así que eso es bueno.
No obstante,
eso significa que no podrán usarlo
en otros documentos de Excel,
a menos que también lo tengan abierto.
Así que si quiero utilizar
este macro de forma general
en todo tipo de documentos,
voy a almacenarlo en mi
libro personal de macros.
Para nuestros propósitos,
voy a almacenarlo en este libro de Excel.
Eso lo hará más fácil para nosotros.
Este es un ejemplo muy simple,
probablemente van a querer
borrarlo después de hacerlo.

English: 
So let's just do this
workbook and click Okay.
And now VBA is watching
everything that we do,
and it's going to turn it into code.
So the very first thing that
I want to do is tell VBA,
hey, I always need to put
my report title in cell C2.
So the way that I'm going to do that,
even though I'm already clicked on C2,
even though I already have it selected,
I'm actually going to take my mouse
and click on it again.
Now, because I just started recording,
that's the very first action
that it is going to record.
So I'm sure that my report title
is always going to be in C2
and now I'm going to type
in the name of my title.
And I'm executing that
with Control + Enter,
which is my favorite execution method.
The thing I like about it
is that it doesn't
actually navigate me away.
So if I used Enter, it would execute,
but it would navigate
me downward one cell.
Whereas if I use Tab, it would execute,
but it would navigate me
to the right one cell.
So I'm going to be using
Control + Enter constantly
in these videos.
And I use it constantly in Excel.
It makes it a whole lot
easier for me to execute

Spanish: 
Así que hagamos este libro
y demos clic en Aceptar.
Ahora VBA está observando
todo lo que hacemos
y lo va a convertir en código.
Lo primero que quiero
hacer es decirle a VBA,
siempre debo poner el título
de mi informe en la celda C2.
La forma como voy a hacer eso,
aunque ya di clic en C2
aunque ya lo seleccioné,
voy a tomar mi mouse
y dar clic sobre ella de nuevo.
Como acabo de empezar a grabar,
esa es la primera acción
que se va a grabar. Así me
aseguro de que el título de mi
informe siempre estará en C2
y ahora voy a escribir
el nombre de mi título.
Estoy ejecutando eso con Control + Intro,
que es mi método favorito de ejecución.
Lo que me gusta de eso
es que no me saca.
Si uso Intro, se ejecutaría,
pero me correría una celda hacia abajo.
Mientras que si uso Tab, se ejecutaría,
pero me correría a la celda de la derecha.
Así que usaré
Control + Intro constantemente
en estos videos.
Y lo uso constantemente en Excel.
Hace mucho más fácil ejecutar

Spanish: 
y continuar haciendo
cosas que quiero hacer
sin tener que volver a
dar clic sobre las cosas.
Así que usaré Control + Intro mucho.
Control + Intro para ejecutar.
Vayan a la pestaña Inicio
y voy a hacer estos cambios de formato que
quiero hacer.
Ustedes pueden hacer lo mismo conmigo.
Estamos eligiendo hacer
algunos cambios de formato.
Ustedes no tienen que hacer
los mismos que yo estoy haciendo,
pero estos son solo ejemplos
de cambios de formato
que estoy realizando.
Una vez que termine,
me aseguraré de regresar
a la pestaña Programador
y dar clic en Detener Grabación.
Esto es algo que se olvida,
incluso los gurús de macros
más experimentados lo olvidan.
Así que asegúrense de dar
clic en Detener Grabación.
Ahora que di clic sobre Detener Grabación,
tengo de regreso mi botón Grabar Macro.
Así es como se ve
una vez que dan clic en Detener Grabación.
Ahora tengo ese macro,
así que ese macro está guardado.
Digamos que necesito
volver a ejecutar esto
en otro lugar.
Quizás tengo otra hoja de cálculo aquí.
Voy a bajar y dar clic

English: 
and continue to do things
I want to be able to do
without really having
to re-click on stuff.
So I'm going to be using
Control + Enter a whole lot.
All right, Control + Enter to execute.
Go into the Home tab
and I'm going to make all
these formatting changes that I
would like to make.
And you guys can go ahead
and do this with me.
So we are choosing to make
some formatting changes.
You guys don't have to do
the exact same ones that I'm doing,
but these are just
example formatting changes
that I'm making here.
And once I'm done,
I am going to make sure to
go back to the Developer tab
and click on Stop Recording.
This is one of those
things that gets forgotten,
even by the most experienced
macro gurus out there.
So you really want to make sure
to click on Stop Recording.
Now that I've clicked on Stop Recording,
I do have my Record Macro button back.
That's what it looks like
once I've actually
clicked on Stop Recording.
And now I have that macro,
so that macro is saved.
So let's say I need to
be able to rerun this
in another place.
Well, maybe I have another sheet here.
I'm going to go down and click

English: 
on this Plus button.
In Excel 2010, obviously that looks
like a different icon there, right?
But whatever your icon is,
I'm clicking on that icon and
create a brand new sheet here.
And then I'm going to try
and run my macro here.
So I'm going to my Macros button.
I'm going to find that
macro that I just created.
Again, that Macros button in the ribbon,
that's where I'm going to find the list of
all the macros that I have.
And here's my list right here.
And I'm going to find
that macro that I created,
click on it and click on Run.
And that's going to run
that macro right there,
all six steps,
all six or seven or eight
or 600 steps, all at once.
And that's the whole point
of the Macro Recorder.
Now, when we just ran this
macro that we just created,
the reason why it looked
so nice and perfect
is because it was set up so
that it specifically recorded
and then ran this macro in cell C2.

Spanish: 
en este botón de Hoja Nueva.
En Excel 2010, obviamente se ve
como un ícono diferente, ¿cierto?
Pero sea cual sea su ícono,
voy a dar clic sobre ese
ícono y crear una nueva hoja.
Luego, voy a tratar de
ejecutar mi macro aquí.
Así que voy a mi botón de Macros.
Buscaré el macro que acabo de crear.
De nuevo, ese botón de Macros en la cinta
es donde encontraré la lista de
todos los macros que tengo.
Aquí está mi lista.
Buscaré el macro que creé,
le daré clic y daré clic en Ejecutar.
Eso ejecutará ese macro,
todos los seis pasos,
los seis o siete u ocho o
600 pasos, al mismo tiempo.
Ese es el punto del Grabador de Macros.
Cuando ejecutamos ese macro
que acabamos de crear,
la razón por la que se
vio tan lindo y perfecto
es que esta configurado
específicamente para grabar
y luego ejecutar este
macro en la celda C2.

English: 
And the reason is that by default,
all these macros are going to be recording
using absolute cell referencing.
Just for those of us
who are not familiar with that term,
if you've ever seen a cell address
that has these dollar signs in
it, this is just an example,
but if you've ever seen a cell address
that you've used in a formula
or a function or something,
and it actually had
the dollar signs in it,
or a bunch of other tools,
that'll put it in there as well.
So the purpose of those dollar
signs is to lock or anchor
the cell reference in place
so that when you use the autofill handle,
maybe it doesn't migrate anywhere,
that kind of thing.
Now, of course,
we do have the standard cell reference
that doesn't have the dollar signs.
It's just A1.
This is what's called a
relative cell reference.
So the other one was absolute,
that's with the dollar signs,
this one is called relative.
And the whole purpose of
these regular cell references
is that they do migrate.
So if I was trying to make
a list of calculations here,
I'm just going to set up an example,
nobody has to do this with me,

Spanish: 
La razón es que, por defecto,
todos estos macros serán grabados
usando referencia absoluta de celdas.
Para aquellos
que no estén familiarizados
con ese término,
si alguna vez han visto
una dirección de celda
con unos signos de dólar en
ella, esto es solo un ejemplo,
pero si han visto una dirección de celda
que han usado en una
fórmula o función o algo,
que tenía signos de dólar en ella,
u otras herramientas,
también se agregarán ahí.
El propósito de esos signos
de dólar es bloquear o anclar
la referencia de la celda en su lugar
para que cuando usen
el llenado automático,
este no migre a ningún lugar,
ese tipo de cosas.
Ahora, por supuesto,
tenemos la referencia de celda estándar
que no tiene los signos de dólar.
Solo es A1.
A esto se le llama
referencia de celda relativa.
La otra era absoluta,
con los signos de dólar,
esta se llama relativa.
El propósito de estas
referencias de celda regulares
es que sí migran.
Si estuviera tratando de
hacer una lista de cálculos,
solo voy a dar un ejemplo,
nadie tiene que hacer esto conmigo,

Spanish: 
pero si estuviera
configurando una tabla aquí
y le pido a Excel que por
favor multiplique esto por esto
y haga esto una y otra y otra vez
en el resto de estas celdas.
Quiero que ustedes,
en vez de usar las referencias
de celdas originales, esta
función está usando las
referencias de celda en la fila 2,
mientras que la siguiente
fórmula abajo usa referencias de
celda de la fila 3, ¿cierto?
Esas referencias de celdas están migrando
y eso es lo que hace una
referencia de celda regular.
Si coloco los signos de dólar ahí,
no cambiaría de F2 a F3,
se quedaría en, digamos que F2.
Bueno,
si
quiero usar referencias relativas,
voy a tener que activar
este botón que dice
Usar Referencias Relativas.
¿Por qué querría hacer eso?
En este caso, mi macro hizo
exactamente lo que yo quería
y no di clic sobre ese botón.
Digamos, por ejemplo, que
quiero ejecutar este macro
en una localidad diferente.
Quizás quiero ejecutarlo en la celda G2.
Luego, unos minutos después,

English: 
but if I was just setting up a table here
and I was asking Excel to
please multiply this times this,
and then do this over
and over and over again
for the rest of these cells.
But I want you to,
instead of using the
original cell references,
this function is using the
cell references in row two.
Whereas the next formula down
is using the cell references
from row three, right?
So those cell references are migrating
and that's what a regular
cell reference does.
If I put the dollar signs in there,
it wouldn't change from F2 to F3,
it would stay on, let's say F2, right.
Okay,
so if I do
want to use relative referencing,
I'm going to need to turn on
this button here that says,
Use Relative References.
Now, why would I want to do that?
In this case, my macro did
exactly what I wanted it to do,
and I didn't click on that button.
Well, let's say for instance,
I want to be able to run this
macro in a different location.
Maybe I want to be able
to run it in cell G2.
And then in a few minutes later,

Spanish: 
quiero ejecutarlo en la celda D8.
El problema es que como grabé el macro,
este no se ejecuta en
ningún lugar excepto en C2.
Efectivamente, si doy
clic en macro, y de nuevo,
no tienen que hacer esto conmigo,
solo estoy dando un ejemplo,
y selecciono mi macro
y doy clic en Ejecutar,
pareciera que no pasa nada.
La razón es que no se puede
ejecutar en otro lugar.
Así que básicamente fue remplazado
con lo que ya estaba ahí.
Si selecciono la celda E3 e
intento ejecutar mi macro aquí,
de nuevo no funciona porque
solo se ejecuta en la celda C2.
Entonces, si quiero que este macro
se ejecute en todos
esos lugares diferentes,
voy a tener que activar
Usar Referencias Relativas.
Entonces, para crear un macro
que de hecho haga esto,
daremos clic en otra celda,
cualquiera donde
eventualmente queramos empezar
antes de dar clic en Usar
Referencias Relativas.
En el último ejemplo,
probablemente notaron que
lo primero que hicimos
fue darle clic a la celda

English: 
I want to be able to run
it in cell D8, right?
The problem is that the
macro as I've recorded it
doesn't run anywhere else except for C2.
And indeed, if I click on macro and again,
you don't have to do this with me,
I'm just giving us an example,
and I choose my macro and I click on Run,
kind of looks like nothing happened.
And the reason is because
it can't run anywhere else.
So it basically just replaced it
with what was already there.
If I select on cell E3 and
try to run my macro over here,
again it doesn't work because
it only runs in cell C2.
So if I want to be able to have this macro
run in all these different spots,
then I'm going to need to turn
on Use Relative References.
So in order for us to create a macro,
that actually does this,
let's go ahead and click on another cell,
whichever cell we want
to eventually start in
before we click on Use Relative Reference.
So in the last example,
you probably noticed the
very first thing that we did
was click on the cell

Spanish: 
donde queremos que el macro se ejecute.
En este caso,
vamos a dar clic en la celda
donde queremos que el macro se ejecute,
en el primer ejemplo, al menos,
antes de que grabemos nuestro macro.
Así que seleccioné la celda C6.
Estoy activando el botón
Usar Referencias Relativas,
y voy a dar clic en Grabar Macro.
Vamos a hacer un ejemplo muy tonto aquí,
vamos a decir que estos son
TítulosdeGastos.
Recuerden, sin espacio,
debe empezar con una letra.
Voy a saltarme la tecla de atajo.
Voy a almacenarlo en el libro de Excel
y voy a dar clic en Aceptar.
Digamos que esto es una nómina.
Quizás la siguiente categoría
es artículos de oficina.
Teléfono.
Alquiler, lo que sea.
Solo introduzcan diferentes
tipos de gastos ahí
o lo que quieran.
Cuando terminen, por supuesto,
asegúrense de ejecutarlo.

English: 
where we actually want the macro to run.
In this case,
we're going to click on the cell
where we want the macro to run,
in the first example, anyway,
before we actually record our macro, okay.
So I've selected on cell C6.
I'm turning on my Use
Relative Reference button,
and I'm going to click on Record Macro.
And we're just going to make
a really silly example here,
we're going to say these are
ExpenseTitles.
Remember no spaces, has
to start with a letter.
I'm going to skip the shortcut key.
I'm going to store it in the workbook
and I'm going to click Okay.
And we'll say, maybe this is payroll.
And maybe the next category
is Office Supplies.
Telephone.
Rent, whatever it might be.
Just enter a couple of different
kinds of expenses there
or whatever you would like.
And when you're done, of
course, make sure to execute.

Spanish: 
Estoy usando Control +
Intro para ejecutar eso.
Luego, al final, por supuesto,
voy a dar clic en Detener Grabación.
Ahora voy a
usar esto en diferentes circunstancias.
Quizás tengo una tabla aquí
y quiero poder ingresar
todas mis categorías
de gastos aquí debajo.
Puedo dar clic en el botón de Macros,
encuentro mi TitulodeGastos
y dar clic en Ejecutar,
y se ejecutará aquí.
También podría hacer los mismo aquí.
Los gastos que me importan.
Y voy a ejecutar mi macro aquí.
En esta circunstancia,
creé un macro que puede ejecutarse
en muchas localidades diferentes.
Podrían estarse preguntando en este punto,
¿por qué no activo siempre
las referencias relativas?
La razón es que a veces
definitivamente necesitamos
grabar nuestro macro y
ejecutarlo en el mismo lugar.

English: 
I am using Control +
Enter to execute that.
And then of course at the end,
I'm going to click on Stop Recording.
Okay, now I'm going to go ahead
and use this in different circumstances.
So maybe I have a table over here
and I want to be able to populate
all of my expense categories under here.
I can click on my Macros button,
find my ExpenseTitles and click on Run,
and it's going to run it over here.
And then I could also do
the same thing over here.
The expenses I care about.
And I'll run my macro over here.
So in this circumstance,
I have created a macro that can run
in many different locations.
Now you might be asking
yourself at this point,
why wouldn't I always turn
on relative references?
The reason is that sometimes
we definitely have the need
to record our macro and run
it in exactly the same spot.

English: 
We're going to be able to
use this Record Macro feature
in a bunch of different situations.
So we're not actually going
to need to code it by hand,
which is really nice.
But depending on the kind of
thing that we're recording,
it would be handy to
use absolute references.
Let me give this a few examples.
If you're going to create a macro,
that's supposed to sort stuff, right?
So maybe I have a list
and I always need to
sort my expenses, for instance.
If my expenses are always going
to be in that same column,
in that data set,
I'm going to want to use
the sort using the absolute references,
which means I'm going to want to
turn off relative references
before I actually record that macro.
And the reason is that
sort macros work best
if you actually use absolute referencing.
Filtering macros are going
to work exactly the same way.
So again, sorting and
filtering are great things
to use the Macro Recorder for,
so long as you want to allow people
to sort or filter by a
specific thing in particular.
If that's the case,
those kinds of macros actually
work a whole lot better

Spanish: 
Vamos a poder usar esta
característica de Grabar Macro
en muchas situaciones diferentes.
No tenemos que codificarla manualmente,
lo cual es muy agradable.
Pero dependiendo de lo
que estemos grabando,
será útil usar referencias absolutas.
Déjenme darles algunos ejemplos.
Si vana crear un macro,
se supone que es ordena cosas, ¿cierto?
Quizás tengo una lista y siempre necesito
ordenar mis gastos, por ejemplo.
Si mis gastos siempre van
a estar en esa columna,
en ese conjunto de datos,
voy a querer usar
el ordenamiento que usa
referencias absolutas,
que significa que voy a querer
desactivar las referencias relativas
antes de grabar ese macro.
La razón es que los macros de
ordenamiento funcionan mejor
si usan referencias absolutas.
Filtrar macros funciona
exactamente de la misma forma.
De nuevo, para ordenar y filtrar es genial
usar la Grabadora de Macros,
siempre y cuando quieran
que las personas puedan
ordenar o filtrar por
una cosa en particular.
Si ese es el caso,
ese tipo de macros en
realidad funcionan mucho mejor

Spanish: 
si usamos referencias absolutas
y veremos esto más en acción
a medida que continuemos con el curso.
Asegúrense de haber grabado un macro
usando referencias relativas.
El proceso que llevamos para hacer eso
fue activar Usar Referencias Relativas.
Luego, grabamos nuestro macro,
por supuesto, lo nombramos,
escogimos almacenarlo
en el libro de macros,
dimos clic en Aceptar.
Luego completamos todas las
cosas que queríamos hacer.
Cuando terminamos,
dimos clic en Detener Grabación
y luego lo probamos
y lo ejecutamos en diferentes lugares.
¿Por qué no pausan el video
ahora mismo e intentan eso,
si no lo han hecho aún,
o quizás lo intentan de
nuevo si ya lo hicieron
solo para acostumbrarse al proceso?
Cuando terminen, continúen con el video
y seguiremos con algunos videos
específicamente sobre crear
algunos macros útiles.
Bienvenidos de vuelta.
Bien.
Lo que vamos a hacer ahora
es crear algunos macros muy

English: 
if we use absolute referencing
and we'll see this more in action
as we continue through the course.
Make sure that you've
actually recorded a macro
using relative referencing.
So again, the process that
we went through to do that
is we did turn on Use Relative References.
Then we recorded our macro,
of course, we named it,
chose to store it in the macro workbook,
we clicked, Okay.
We then completed all of the
things that we wanted to do.
And when we were done,
we clicked on Stop Recording
and then we actually tested it out
and ran it in a few different spots.
Why don't you pause the video
right now and give that a shot
if you haven't done so already,
or maybe give it another shot
if you've already done it
just to kind of get used to the process.
When you're done, go ahead
and unpause the video
and we will continue with some videos
specifically about creating
some useful macros.
Welcome back.
All right.
So what we're going to be doing now
is creating some very simple,

English: 
yet very useful macros
using the Macro Recorder.
Now, hopefully you've already downloaded
this file called Simple Macros.
If not, now would be a good
time to pause the video
and go ahead and download
that particular file.
It should be right there in
your Alert at Anytime Interface.
And once you have it,
go ahead and unpause the video
and we'll continue with the exercises.
Okay, I already have it
so I'm going to go ahead and click on it.
And here it is, it opened up for me.
Now, let's say I have the
regular exercise
of formatting certain numerical values.
And I have a few challenges here.
I do need these phone numbers here.
However, all those phone
numbers are actually for the UK.
Now they're showing up like
American phone numbers here.
And so what I want to do
is convert this
into another kind of formatting,
but you'll notice if I go into my
Number Formatting dialog box here,

Spanish: 
simples, pero muy útiles,
usando la Grabadora de Macros.
Espero que ya hayan descargado
este archivo llamado Macros Simples.
Si no, ahora es un buen
momento para pausar el video
y descargar ese archivo en particular.
Debería estar en su Interfaz
de Alerta en Cualquier Momento.
Una vez que lo tengan,
continúen con el video
y seguiremos con los ejercicios.
Ya lo tengo
así que voy a darle clic.
Aquí está, se abrió para mí.
Digamos que tengo el
ejercicio regular
de formatear ciertos valores numéricos.
Y tengo algunos desafíos aquí.
Necesito estos números de teléfono.
No obstante, estos números
telefónicos son del Reino Unido.
Ahora se ven como números
telefónicos americanos.
Lo que quiero hacer
es convertir esto
a otro tipo de formato,
pero notarán que si entro a mi
cuadro de diálogo de Formato de Número,

Spanish: 
puedo bajar a Especial y
escoger Número Telefónico.
Podría cambiar esto a
algo como Reino Unido,
pero solo lo convierte a un
formato general, ¿cierto?
Entonces, lo que voy a hacer
es crear mi propio formato
de número personalizado
y lo voy a hacer aquí afuera como normal,
porque si lo hago aquí,
tendría que hacerlo una y otra y otra vez
cada vez que quiero hacer esto.
Lo que voy a hacer es
convertirlo en un macro.
De esa forma, lo puedo
usar una y otra vez,
cuando quiera
usando la tecla de atajo, más rápido.
Aquí vamos.
Voy a empezar yendo a la
pestaña de Programador
y voy a grabar mi macro,
pero antes, me voy a preguntar dos cosas.
Primero que nada,
¿necesito usar referencias relativas
o referencias absolutas?
¿Necesito activar el botón de
Usar Referencias Relativas?
La verdadera pregunta es
¿quiero poder usar este
macro en particular
en este lugar, en este lugar,
en este lugar, en este lugar, etcétera?
La respuesta es sí.

English: 
I can go down to Special
and choose Phone Number.
And I could change this
to something like UK,
but it just converts it to
general formatting, right?
So what I'm going to do
is actually create my own
custom number formatting,
and I'm not going to do
it out here like normal,
because if I did it out here,
I would have to do it over
and over and over again,
every time I wanted to do this.
What I'm going to do is I'm
going to turn it into a macro.
That way I can use it over
and over and over again,
whenever I would like to
using the keyboard shortcut, much faster.
So here we go.
I'm going to start by
going to the Developer tab
and I'm going to record my macro,
but before I do so I'm going
to ask myself two things.
First of all,
do I need to be using relative references
or absolute references, right?
So do I need to turn on the
Use Relative References button?
So the real question,
let me ask myself is,
do I want to be able to
use this particular macro
in this spot, in this spot,
in this spot, in this spot, et cetera?
The answer to that is yes.

Spanish: 
Por eso, quiero poder
usar referencias relativas
para tener la flexibilidad
de usar este macro
cuando quiera.
Después me voy a preguntar
si ya seleccioné la celda
que quiero formatear
antes de dar clic en el
botón de Grabar Macro
porque estoy usando referencias relativas,
así que debo asegurarme de que lo primero
que la Grabadora de Macros grabe sea
la celda en donde ya estoy, ¿cierto?
Si doy clic en Grabar Macro
y lo primero que hago
es dar clic por aquí,
lo primero que va a grabar es
mover dos celdas a la derecha,
mover dos celdas hacia abajo, ¿cierto?
No quiero que haga eso,
va a hacer muchas cosas
incorrectas en lugares incorrectos,
exactamente donde no quiero que las haga.
Así que selecciono la
celda antes de empezar.
Luego, doy clic en Grabar Macro
y voy a nombrar este
TelefonoUK
y le asignaré una tecla de atajo.
Quizás la tecla sea Mayus + I.
Es más seguro usar atajos
con Control + Mayus

English: 
So therefore I want to be able
to use relative references
so I have the flexibility
to use this macro,
wherever I would like.
Then I am going to ask myself
whether I have already
selected on the cell
that I do want to format
before I click the Record Macro button,
because I'm using relative references,
so I need to make sure the first thing
the Macro Recorder records is,
oh, the cell that I'm already in, right?
If I clicked on Record Macro
and then the first thing I
did was like click over here.
The first thing it's going to record is,
okay, move two cells to the right,
move two cells down, right?
Don't want it to do that,
it's going to do a bunch of
wrong stuff in the wrong places,
exactly where I don't want it to.
So I'm selecting the cell before I start.
And then I'll click on Record Macro,
and I'm going to name this one
UKPhone
and I'll assign a
shortcut key for this one.
And maybe the key is Shift + E.
It's safer to do Control + Shift shortcuts

Spanish: 
en vez de atajos con Control.
Solo quedan tres sin usar
y con la nueva versión
de Excel, en realidad
solo hay dos
atajos con Control
algo sin usar.
Así que es mucho más seguro
poner Control + Mayus,
hay muchos más disponibles. Así que
usaré Control + Mayus + I por
Inglaterra y clic en Aceptar.
Aquí vamos,
voy a ir a la pestaña
de Inicio en la cinta,
buscaré mi número, mi grupo
de comandos de número,
que me gusta llamar grupo de
comandos de formato de número
y usaré este pequeño botón
en la esquina inferior
derecha del grupo de comando
para llevarme a mi área
de formato de número.
Este es mi cuadro de diálogo
de Formato de Celdas.
Estoy en la pestaña llamada Número
y voy a bajar a mi formato
de número personalizado.
Aquí vamos,
voy a cambiar el formato
de esta celda particular.
Esto es lo que quiero que aparezca.
Siempre quiero que aparezca
el código de área al inicio.
El código de país del Reino Unido es +44
así que eso quiero primero.

English: 
instead of Control shortcuts.
There are only three left that are unused
and actually with the
newer version of Excel,
there's only two
control something
shortcuts that are unused.
So it's much safer to do Control + Shifts,
there are a lot more of those available.
So I'll use Control + Shift +
E for England and click Okay.
And here I go,
I'm going to go to the
Home tab of the ribbon,
find my number, my Number command group,
what I like to call the number
formatting command group
and I'm going to use this little button
in the lower right hand
corner of that command group
to bring me into my number
formatting area.
So this is my Format Cells dialogue box.
I'm on the tab called Number,
and I'm going to go down to
my custom number formats.
And here we go,
I'm going to change the formatting
of this particular cell.
And here's where we want it to show up.
I always want the UK area code
to show up at the beginning.
So the country code for the UK is +44
so that's what I'm going to want first.

English: 
Then I'm going to tell Excel,
okay, now you can start
displaying my numbers here
and it should be like this:
number, number, number, dash,
number, number, number, dash,
four more numbers.
And there are a few different ways
to see UK phone numbers displayed.
It's been a while since I've been there,
but I think this is the
way it was displayed
last time I was there.
So that's the way I'm going to do it.
You guys could do it any way you'd like,
and I'll go ahead and click on Okay.
And then that number is
formatted just like that.
Wonderful.
Okay.
So I'm going to go to my
Developer tab and Stop Recording.
And now I should be able to select
all the cells in this column
and format them just like that.
So I'm selecting all the
cells in this column using,
I've already clicked on the
top numerical cell there,
and I'm using Control + Shift + Down
to select everything in
that particular column.
And I'm using my keyboard shortcut,
which is Control + Shift + E for England.
And there we go.
All my numbers are formatted like that,
going to go to the list
on the right-hand side
to practice it.
Here we go, selecting on
the top phone number cell,
and I'm using Control + Shift + Down
to select all those guys.

Spanish: 
Después le diré a Excel,
ahora puedes empezar a
mostrar mis números aquí
y debería verse así:
número, número, número, raya,
número, número, número, raya,
cuatro números más.
Hay varias formas diferentes
de mostrar números
telefónicos del Reino Unido.
Ha pasado algún tiempo
desde que estuve ahí,
pero creo que esta es la
forma en que se colocaban
la última vez que estuve ahí.
Así que esa es la forma en que lo haré.
Ustedes pueden hacerlo como quieran,
y voy a dar clic en Aceptar.
Entonces, ese número queda
formateado así nomás.
Maravilloso.
Bien.
Voy a mi pestaña de Programador
y Detener Grabación.
Ahora debería poder seleccionar
todas las celdas en esta
columna y formatearlas.
Así que selecciono todas las
celdas de esta columna usando,
ya di clic sobre la
celda numérica superior,
estoy usando Control + Mayus + Abajo
para seleccionar todo en
esa columna en particular.
Estoy usando mi tecla de atajo
que es Control + Mayus + I por Inglaterra.
Y aquí vamos.
Todos mis números están formateados así,
voy a ir a la lista en el lado derecho
para practicar.
Aquí vamos, selecciono la
celda del teléfono superior
y estoy usando Control + Mayus + Abajo
para seleccionarlo todos.

English: 
And then using Control + Shift + E
to actually change to that formatting.
And it's just as easy as that.
Alright.
Maybe I work in HR
and I have the duty
of keeping track
of everybody's birthdays.
However, I really want to be sensitive
about people's,
anybody who might feel a
little bit age sensitive.
And so I don't want to display
their birth year on their birthdays.
I do want everybody to be able to know
what their birth day is,
but not their birth year.
So I would change my
number formatting here.
Now I'm going to do this again as a macro
so that I can do it whenever I want to
with the keyboard shortcut.
Okay, so
here we go.
Here's another example of
using relative references,
want to be able to do this in
a bunch of different places,
so I am using relative references.
I have clicked on a cell
that has the values in
it that I want to format
before I actually click on Record Macro.
So I'm all good.

Spanish: 
Luego, uso Control + Mayus + I
para cambiar a ese formato.
Es tan fácil como eso.
Bueno.
Quizás trabajo en Recursos Humanos
y tengo la tarea
de mantener un registro
de las fechas de cumpleaños de todos.
No obstante, quiero ser cuidadosa
con la gente,
alguien que se podría sentir
sensible sobre su edad.
Así que no quiero exhibir
su año de nacimiento en sus cumpleaños.
Sí quiero que todos sepan
cuándo es el cumpleaños,
pero no el año de nacimiento.
Así que cambiaría mi
formato de número aquí.
Ahora voy a hacer esto
de nuevo como un macro,
para hacerlo cuando quiera
con la tecla de atajo.
Bueno, así que
aquí vamos.
Aquí hay otro ejemplo del
uso de referencias relativas,
queremos poder hacer esto en
muchos lugares diferentes,
así que estoy usando
referencias relativas.
Di clic sobre una celda
que tiene los valores que quiero formatear
antes de dar clic en Grabar Macro.
Así que estoy lista.

Spanish: 
Voy a dar clic en Grabar
Macro y aquí vamos.
Aquí está el segundo
macro que vamos a hacer.
Esto se tratará sobre
fechas de cumpleaños.
Así que voy a decir
CumpleañosSinAño.
Mi tecla de atajo para este será C
por cumpleaños y daré clic en Aceptar.
Aquí vamos.
Voy a ir a la pestaña
de Inicio de la cinta
y en el lado derecho
verán que está catalogado
como formato de fecha,
pero quiero hacer esto
un poco más interesante.
Así que voy a ir al Número,
botón de Más Opciones,
el cual me lleva al cuadro de
diálogo de Formato de Celdas.
La pestaña izquierda es Número.
Bajo a Personalizar
y voy a asignar esto como Mes,
y quizás quiero que aparezca
como el mes completo,
así que voy a poner cuatro emes ahí.
Va a aparecer como julio
y verán esta área de muestra
que me está diciendo cómo esto
lo va a mostrar hasta ahora.
Quiero el mes y quiero el día,
dos dígitos está bien.
Bueno.
Doy clic en Aceptar.
Listo. Terminé.

English: 
So I'm going to click on
Record Macro and here we go.
Here's the second macro
we're going to make.
This is all going to be about birthdays.
So I'm going to say
BirthdayNoYear.
And my shortcut key for
this one is going to be B,
B for birthday and I'll click Okay.
And here we go.
I'm going to the Home tab of the ribbon
and on the right-hand side,
you'll see it's currently
listed as a date format,
but I want to make this a
little bit more interesting.
So I'm going to the Number,
More Options button,
which brings me into the
Format Cells dialogue box.
And the left tab is number.
I'm going down to Custom
and I'm going to assign this as Month
and maybe I want it to
show up as the full month,
so I'm going to put four M's in there.
That's going to show up as July
and you'll see up in this sample area
that it is telling me how this thing
is going to display so far.
So I want the month and I want the day,
two digits is fine.
Okay.
And I'll click Okay.
And that's it. I'm all done.

Spanish: 
Vayan a la pestaña
Programador, Detener Grabación.
Puedo tomar todas las celdas
de esta columna en particular
y usar Control + Mayus + C por cumpleaños
y ahí está convertido.
Quizás haré eso en el
lado derecho también.
Control + Mayus + Arriba esta vez
y Control + Mayus + C por cumpleaños.
Pude hacer eso con bastante facilidad.
Hice eso con
el cuadro de diálogo de
Formato de Número, el cuadro
de diálogo Formato de celdas
usando la pestaña Número.
A veces lo que necesito hacer
puede lograrse con esas
opciones de Formato de Número,
incluso las personalizadas.
Así que voy a necesitar
hacerlo un poco más interesante,
por ejemplo, aquí
tengo una lista de un montón de números
del seguro social de personas.
Mi asunto es que
no quiero que nadie
pueda ver nada más
que los últimos cuatro dígito
de su número de seguro social.
Así que decidí que voy a
convertir todo este documento
para que los únicos datos
que estén almacenados aquí

English: 
Go into the Developer tab, Stop Recording.
And I can grab all the cells
in this particular column
and use Control + Shift + B for birthday
and there it is converted.
Maybe I'll do that on the
right-hand side as well.
Control + Shift + Up this time
and Control + Shift + B for birthday.
All right, so I've been able
to do that fairly easily.
Now I did that with
the Number Formatting dialog box, right,
the Format Cells dialogue
box using the Number tab.
So sometimes what I need to do
can't actually be accomplished by
those Number Formatting
options, even the custom ones.
And so I'm going to need to
rig it up a little bit more interestingly,
for instance here,
I have a list of a bunch of people's
social security numbers.
And my issue is that
I don't want anybody
to be able to see anything,
but the last four digits of
their social security number.
And so I've decided I'm going to
convert this entire document
so that the only data that's stored here

Spanish: 
sean los últimos cuatro números
del número de seguro social.
No hay una forma fácil de
cambiar el formato aquí,
así que tendré que usar
algunas funciones para hacerlo.
Hay un par de opciones
que me gustan mucho.
Tenemos la función DERECHA.
Esta es una de mis funciones
de texto favoritas,
jala cierto número de caracteres
de un lado de la celda al otro,
en este caso, el lado derecho.
También hay una llamada IZQUIERDA,
y hay una llamada EXTRAE.
Esta es muy fácil.
Solo escogen el texto
del que quieren jalar las caracteres
o lo números,
del que quieren jalar los números.
Seleccionan esa celda,
y luego le dicen
cuántos caracteres quieren jalar, ¿cierto?
Es tan fácil como eso.
Ahora digamos que quiero hacerlo
un poco más interesante.
Quiero que esto
también muestre algunos caracteres
en el lado izquierdo
de esos cuatro dígitos
que implica que están escondidos ahí.
Así que voy a colocar un paréntesis
y voy a usar los asteriscos,
así es como quiero que aparezca.

English: 
is the last four digits of
their social security number.
Now there's not an easy way
to change the formatting here,
so I'm going to have to use
some functions to do it.
Now, there are a couple of
functions I really like.
We do have the RIGHT function.
This is one of my favorite text functions,
pulls a certain number of characters
from one side of a cell,
in this case, the right side.
There's also one called LEFT,
and there's also one called MID.
This one's really easy.
You just choose the text
that you want to pull characters from,
or the numbers of course,
that you want to pull numbers from.
You select that cell,
and then you tell it
how many characters you
want to pull, right?
So it's as easy as that.
Now let's say I want to make it
a little bit more interesting.
I want to get this thing to
also display some characters
on the left-hand side of those four digits
that sort of imply that
they're hidden there.
So I'm going to put in a parentheses
and I'm going to use the asterisks,
and this is how I'm going
to want it to show up.

English: 
So the asterisks on the
left-hand side with the dashes,
and then I want to combine that.
So I'm going to use my ampersand.
I want to combine that with the value
that's returned by the RIGHT function.
So I'm going to go ahead and execute that.
And then I'm going to ask
this function to please
populate this for the rest of the column.
Now, eventually what I'm going to do
is copy and paste this over here
to replace the social security values.
But unfortunately,
what I got going on here is
these cells
are requiring information
from these cells,
right?
So if I did that right now,
if I copied and pasted it right now,
it would still have the function.
The function is still looking
for stuff from E8, right,
so it would give me a reference warning.
So what I'm going to do instead of that
is copy and paste this function.
So I'm going to copy it.
And then I'm going to just
paste the values that are
returned by the function.
So I can use my regular
Control + C to copy,

Spanish: 
Los asteriscos del lado
izquierdo con las rayas,
y luego quiero combinar eso.
Voy a usar mi signo et.
Quiero combinar eso con el valor
que función DERECHA devolvió.
Así que voy a ejecutar eso.
Luego voy a pedir a esta
función que por favor
ingrese esto en el resto de la columna.
Eventualmente, lo que voy a hacer
es copiar y pegar esto aquí
para remplazar los valores
de seguridad social.
Pero, desafortunadamente,
lo que pasa aquí es que
estas celdas
requieren información
de estas celdas,
¿cierto?
Así que si hago eso ahora,
si lo copio y pego ahora,
todavía tendría la función.
La función seguirá buscando cosas de E8,
así que me daría una
advertencia de referencias.
Así que lo que voy a hacer en vez de eso
es copiar y pegar esta función.
Voy a copiarla.
Luego voy a pegar los valores que
la función devolvió.
Puedo usar el regular
Control + C para copiar,

Spanish: 
pero entonces debo ir
a mi útil botón Pegar
y dar clic en el triángulo debajo de él.
Voy a escoger Pegar Valores,
uno de mis botones favoritos.
Todavía tengo mi marco
intermitente alrededor de ella,
así que no tengo que copiarla de nuevo.
No obstante, si quisiera, podría hacerlo,
pero voy a ir aquí
a la columna de número
de seguridad social.
Aquí es donde en realidad voy a
pegar esos valores, y
aquí los estoy pegando.
Los pegué con la tecla Intro.
Pueden hacerlo con Control + V también,
pero Intro está diseñado
para pegar una vez
y eliminarlo del portapapeles,
que es lo que me gusta.
Bueno, genial.
Tenemos esos valores pegados aquí.
Se ve bastante bien.
Voy a ir aquí y borraré
todo esto
usando Control + Mayus +
Abajo para seleccionar todo,
luego pulso la tecla
Borrar para eliminarlo.
Finalmente,
voy a seleccionar la
primera celda de aquí,
la celda con la que empecé,
y voy a desactivar mi macro.
Ese es el proceso que voy a realizar.
Hagámoslo.
Normalmente, cuando están haciendo esto,
es como un proceso de cinco pasos.
Este es el momento en el que querrán
empezar a escribir cada paso simple

English: 
but then I'm going to go
over to my handy Paste button
and click on the triangle underneath it.
And I'm going to choose Paste Values,
one of my favorite buttons.
All right, now I still have
my flashing marquee around it,
so I don't have to copy it again.
However, if I wanted to, I could,
but I'm going to go over here
in a social security number column.
And this is where I'm actually going to
paste those values, and
here I go pasting them.
I just pasted it with the Enter key.
You could do it with Control + V as well,
but Enter's designed to paste once
and remove it from the clipboard,
which is why I like it.
Okay, great.
So we got those values pasted over here.
It looks pretty good.
So I'm going to go over here and delete
all this stuff over here,
using Control + Shift +
Down to select it all,
then hitting my Delete key to remove it.
And finally,
I am going to select that
very first cell there,
the cell that I started with,
and I'm going to turn off my macro.
Okay, so that's the process
that I'm going to go through.
Let's do it.
Now, normally when you're doing this,
this is like a five step process.
So this is the time when you would want to
start to write down every single step

English: 
and then you'd follow every single step.
As soon as it gets beyond a few steps,
that's what you want to do.
And indeed, I've written down
all the steps for myself,
so I'm ready to go.
So I'm going to click on Record
Macro here and here we go.
We're going to call this the
SocialLastFour
and I'll use
Control + Shift + S for
that particular shortcut.
And here we go.
Great, so we were able to record
those couple of simple macros
that really made our
job a whole lot easier,
getting these birthdays
and these phone numbers
to show up exactly like we want.
Now I have a larger challenge.
And so this is going to
require a few steps for me.
I'm going to need to
put a function in there.
I'm also going to need to
put a formula in there,
and then I'm going to need to copy stuff
and paste it as values.
That's going to be a
little bit of a process.
And so what I'm starting
to do at this point,
at this point in my
macro recording career is
start to write down all the steps

Spanish: 
para luego seguir cada paso.
Tan pronto como sean varios pasos,
eso es lo que querrán hacer.
De hecho, yo escribí
todos los pasos para mí,
así que estoy lista.
Voy a dar clic en Grabar
Macro y aquí vamos.
Vamos a llamar esto los
UltimosCuatroSocial
y voy a usar
Control + Mayus + S para esa
tecla de atajo en particular.
Y aquí vamos.
Genial, podemos grabar
ese par de macros simples
que hicieron nuestro
trabajo mucho más fácil,
logrando que estos cumpleaños
y números telefónicos
aparecieran exactamente como queríamos.
Ahora tengo un desafío más grande.
Esto va a requerir algunos pasos.
Tendré que poner una función aquí.
También tendré que poner una fórmula ahí,
y luego tendré que copiar cosas
y pegarlas como valores.
Eso será un proceso.
Lo que estoy empezando a hacer ahora
en mi carrera de grabar macros es
empezar a escribir todos los pasos

Spanish: 
que mi macro requiere.
Todos los pasos que quiero grabar,
los voy a descomponer en un trozo de papel
y eso me ayudará
cuando grabe el macro
a no cometer ningún error
porque, obviamente,
cualquier error que cometa
mientras grabe, se va a grabar.
Así que escribí todos mis pasos
y ahora vamos a hacer esto.
Este es mi dilema.
Tengo una columna de
número de seguridad social
y solo quiero que se muestren
los últimos cuatro números.
Lo que voy a hacer es usar una combinación
de una fórmula y una función para eso.
Así que voy a decir,
Excel, y no tienen que
hacer esto conmigo ahora,
los haremos juntos en un momento.
Pero lo que voy a hacer
es decirle a Excel,
quiero que uses esta función
genial llamada DERECHA.
Y van a usar esa función
y jalar los cuatro dígitos
derechos de ese número.
Entonces va a jalar los
cuatro dígitos derechos.
Ahora voy a hacerlo un
poco más interesante
porque quizás quiero
que este número aparezca
con la implicación

English: 
that are required by my macro.
So all of the steps that
I actually want recorded,
I'm going to break them
down on a piece of paper
and that's going to help me
when I actually record the macro,
not to make any mistakes,
because obviously any mistakes that I made
while I'm recording do
get recorded, right?
So I've written down all my steps,
and now we're going to
go ahead and do this.
So here's my dilemma.
I have a social security numbers column,
and I only want the last
four digits to display.
What I'm going to be doing
is using a combination
of a formula and a function to do that.
So I'm going to be saying,
hey, Excel, and you don't have
to do this with me right now,
we're all gonna do it
together in just a second.
But what I'm going to do is tell Excel,
hey, I want you to use this
cool function called RIGHT.
And you're going to use that function
and pull the right four
digits from that number.
Okay, so it's going to
pull the right four digits.
Now I'm going to make it a
little bit more interesting
because maybe I want
this number to show up,
with the kind of giving the implication

Spanish: 
de que hay otros dígitos que
alguien más no puede ver.
Si quisiera hacer eso,
solo coloco unos asteriscos, ¿cierto?
Así que pongo, quizás uso un asteriscos
un par de veces.
Lo usaría para los primeros tres dígitos,
para los segundos dos dígitos.
Y pongo rayas entre esos números
y luego una raya después
de esos asteriscos.
Justo después de eso,
se ingresarán los cuatro
dígitos del lado derecho
del número de seguridad social.
En cualquier momento que
quiera que los caracteres
aparezcan en mi celda al final,
debo rodearlos con comillas.
Así que voy a hacer eso.
Luego, entre mi fórmula que tengo aquí
y la función,
debo decirle a Excel,
ey, quiero que combines esto.
La forma como hago eso es con el signo et,
es la clave para eso.
Bueno, cuando ejecuto eso
es cuando mi número va a aparecer.
Así que eso es genial.
Y cuando termine esto,
lo que voy a hacer es copiar eso
y lo voy a pegar por aquí,
sobre los números de seguridad social.

English: 
that there are other digits
that somebody else can't see.
If I wanted to do that,
I just put in some asterisks, right?
So I put in, maybe I'd use an asterisks
couple times, right?
So I'd use it for the first three digits,
for the second two digits.
And I put dashes in between those numbers
and then a dash after those asterisks.
So that right after that,
it'll populate the four digits
from the right-hand side
of the social security number.
Now, any time I actually want characters
to show up in my cell at the end,
I do have to surround
them with quotation marks.
So I'm going to go ahead and do that.
And then in between my formula
that I got going on there
and the function itself,
I have to tell Excel,
hey, I want you to combine this stuff.
And the way that I do that
is with the ampersand,
that's the shorthand for it.
Okay, and then when I execute that,
that's how my number is going to show up.
So that's great.
And then when I'm all done here,
what I'm going to do is
I'm going to copy that
and I'm going to paste it over here,
over the social security numbers.

Spanish: 
No puedo copiar y pegar
la fórmula y la función aquí
porque está usando algunas
referencias de celdas.
¿Cuáles referencias de celdas?
Está usando la misma celda
donde la quiero pegar,
eso será un problema.
Lo que voy a hacer es
copiar esto y luego copiar
solo los valores aquí
en la columna de números
de seguridad social.
¿Tiene sentido?
Bien, aquí vamos.
Voy a empezar
seleccionando la celda donde quiero
empezar a trabajar.
Voy a usar referencias relativas
porque quiero poder procesar este macro
en otro lugar más tarde.
Voy a dar clic en Grabar Macro
y voy a llamar este macro particular
UltimosCuatroSocial.
Mi tecla de atajo para este
es Control + Mayus + S
y doy clic en Aceptar.
Aquí vamos.
Lo estoy haciendo paso por
paso, con mucho cuidado.
Voy a la celda
que está dos celdas a la derecha de esa.
Voy a poner mi fórmula aquí y mi función.

English: 
Now I can't actually copy and paste
the formula and function here
because it's using some cell references.
Which cell references?
It's actually using the same cell
where I want to paste it to,
that's going to be a problem.
And so what I'm going to end up doing is
copying this and then pasting
only the values over here
in the social security number column.
Makes sense?
All right, here we go.
All right, so I'm going to start
by selecting the cell that I want to
begin working on.
And I am going to use relative references
because I want to be able
to process this macro
in another spot later on.
And I'm going to click on Record Macro
and I'll call this particular macro
SocialLastFour.
And my shortcut key for this one
maybe is Control + Shift + S
and I'll click on Okay.
And here we go.
I'm doing it step-by-step,
being really careful.
Okay, so I'm going to the cell
that is two cells right of that.
And I'm going to put in my
formula here and my function.

English: 
So I'm going to need to
put in my asterisks, dash
and another dash at the end,
following that with my quotation marks,
then I got my handy ampersand,
which is followed by the characters
that are going to be returned
by the RIGHT function.
And it's going to pull from my
social security number cell,
and it's going to pull
four characters there
and I'm going to execute that.
And once I've executed that,
I'm going to auto-fill the
rest of my column here.
Okay, so we're good so far.
Now what I got to do is copy
and paste these
as the values, right?
And once I do that,
you'll see that the
values here that show up
in the formula bar is no longer
the formula or the function.
It's just those strict
values that were returned
by this particular process.
Now I do still have the flashing marquee
surrounding the selection,
so I can also paste it
in another location.
So I'm going to have
it pasted here as well
in the social security number column.

Spanish: 
Tendré que poner mis asteriscos, raya
y otra raya al final,
seguidas por mis comillas,
luego mi útil signo et,
seguido de los caracteres
que la función DERECHA va a devolver.
Y va a jalar de la celda de
números de seguridad social
y va a jalar cuatro caracteres ahí
y voy a ejecutar eso.
Una vez que haya ejecutado eso,
voy a hacer llenado
automático en mi columna.
Hasta aquí vamos bien.
Ahora debo copiar
y pegar estos
como los valores, ¿cierto?
Una vez que haya hecho eso,
verán que los valores que aparecen
en la barra de la fórmula no
son la fórmula ni la función.
Son esos valores estrictos
que fueron devueltos
por este proceso en particular.
Todavía tengo el marco intermitente
alrededor de la selección,
así que puedo pegarlo en otra localidad.
Voy a pegarlo aquí también
en la columna del número
de seguridad social.

English: 
And I'm just going to use
my Enter key to do that,
because what it's going
to do is paste that
and remove the original
selection from the clipboard,
which is really nice.
So I got my values showing up over there.
And now what I want to do is delete it
from this column on the right-hand side.
So all I'm going to do is
use Control + Shift + Down
to select all that content.
And I'm hitting my Delete key.
And that's going to remove it.
Now that I'm done,
I'm just going to select the
cell that I started on here.
And I'm done recording
that particular macro.
So here I go,
Developer tab, I'm going to Stop Recording
and I can test it out on the
table on the right-hand side.
So here I have my social security numbers
and I'm going to use Control + Shift + S,
which is my shortcut key.
And just like that,
I get all of these converted that quickly.
Now, as handy as this is,
it did require a few steps.
So I did have to write it down.
So that was part of the practice here,
is making sure to write
down all the steps.
Why don't you go ahead and do that?
Take a moment to pause the video,

Spanish: 
Voy a usar la tecla Intro para hacer eso
porque va a pegar eso
y eliminar la selección
original del portapapeles,
lo cual es muy bueno.
Así que mis valores aparecen ahí.
Ahora lo que quiero es borrarlo
de esta columna al lado derecho.
Lo que voy a usar es
Control + Mayus + Abajo
para seleccionar ese contenido.
Y doy clic a la tecla Borrar.
Y lo borrará.
Ahora que terminé,
voy a seleccionar la celda donde empecé.
Y terminé de grabar ese
macro en particular.
Aquí voy,
pestaña Programador, voy
a detener la grabación
y puedo probarla en la
tabla del lado derecho.
Aquí tengo mis números de seguridad social
y voy a usar Control + Mayus + S,
que es mi tecla de atajo.
Y de esta forma,
consigo que se conviertan rápidamente.
Aunque esto es muy útil,
requiere varios pasos.
Así que tuve que escribirlo.
Eso era parte de la práctica,
asegurarse de escribir todos los pasos.
¿Por qué no hacen eso?
Tomen un momento para pausar el video,

Spanish: 
escriban los pasos que
queremos hacer aquí.
Después de escribirlos,
asegúrense de que grabaron
estos tres macros.
Vamos a asegurarnos
de que grabamos los simples
con los que empezamos.
Y luego el más complejo que hicimos
en el tercer ejemplo,
que tenía algunos pasos diferentes.
Hagan eso
y regresen y continuaremos
con macros incluso más
interesantes y útiles.
Bienvenidos de vuelta.
En los últimos ejemplos,
logramos hacer un par de acciones.
Eran simples,
eran fórmulas o eran opciones de formato.
Ahora
vamos a usar algunas
herramientas más grande de Excel
y veremos que estas
herramientas más grandes
funcionan igual de bien con macros.
Bien.
Lo que vamos a hacer
es crear algunos macros para
ordenar y otros para filtrar.
Cuando estamos grabando esto
en la pestaña Programador,
van a dejar este botón de
Usar Referencias
Relativas sin seleccionar.
La razón es que nuestros
macros para ordenar y filtrar

English: 
write down the few steps
that we want to do here.
After you write it down,
make sure that you have recorded
all three of these macros.
We're going to make sure
that we've recorded the simple ones
that we started off with.
And then the more complex one that we did
for the third example,
which had a few different steps there.
Okay, go ahead and do that
and come back and then we'll continue
with even more interesting
and useful macros.
Welcome back.
So in the last few examples,
we did get to do a couple of actions.
They were simple,
they were formulaic, or
they are formatting options.
This time,
we're going to use some of
the bigger tools in Excel
and see that a lot of these bigger tools
actually work just as well with macros.
Okay.
So what we're going to be doing
is creating a few sort macros
and a few filter macros.
Now, when we're actually recording this
on the Developer tab,
you're going to want to leave this
Use Relative Reference button unchosen.
And the reason is that
our sort and filter macros

English: 
are going to work best
using absolute references.
So that's what I'm going to do.
And then I'm going to
click on Record Macro,
and here I go.
I'm going to make my first sort macro.
This is going to sort by the department
and then by the last
name and I'll click Okay.
And then I'm going to go to the Data tab
where I find my Sort Tool
and I'm going to add my two levels.
The first one is by department
and the second one is by last
name and I'll click Okay.
And there it is.
As easy as that I'm done with my macro,
go to my Developer tab and Stop Recording.
And I'm going to make one more,
then I go to the Developer tab,
click Start Recording Macro.
And this time I am going
to make a sort macro
that has to do with sorting by the status
and then the first name.
Go into my Data tab,
choosing my sort button.
This time, I'm going
to sort by status first
and then by first name
and I'll click Okay.

Spanish: 
van a funcionar mejor usando
referencias absolutas.
Eso es lo que voy a hacer.
Luego voy a dar clic en Grabar Macro,
y aquí voy.
Voy a hacer mi primer macro para ordenar.
Esto ordenará por el departamento
y luego por el apellido y
voy a dar clic en Aceptar.
Luego voy a ir a la pestaña de Datos
donde encontraré mi Herramienta Ordenar
y voy a agregar mis dos niveles.
El primero es por departamento
y el segundo es por apellido
y doy clic en Aceptar.
Y ahí está.
Así de fácil terminé mi macro,
voy a la pestaña Programador
y detengo la grabación.
Voy a hacer uno más,
luego voy a la pestaña Programador,
doy clic en Grabar Macro
En este momento, voy a
hacer un macro para ordenar
que tiene que ver con ordenar por estatus
y luego por primer nombre.
Voy a la pestaña Datos,
escojo mi botón Ordenar.
Esta vez, voy a ordenar
por estatus primero
y luego por primer nombre
y doy clic en Aceptar.

Spanish: 
Ahora que terminé, voy a
la pestaña Programador,
doy clic en Detener Grabación.
Esta es la parte genial.
Si tenemos compañeros que
no saben ordenar y filtrar,
quizás no saben usar estas herramientas.
Cualquier cosa que sea un macro,
puedo convertirlo en
un botón en la interfaz
y ellos pueden dar clic en ese botón
y va a hacer lo que quieren que haga.
Si voy a la pestaña Insertar,
en la pestaña Programador de la cinta,
y voy al botón Insertar
y el menú Insertar,
verán un montón de controles de forma.
Repasaremos algunos más
durante el curso de la clase,
pero voy a empezar hablando del
botón Macro, está en la
parte superior izquierda.
Voy a seleccionarlo.
Cuando regreso mi cursor a la interfaz,
parece que voy a dibujar un cuadrado.
Y así es como se ve
cuando doy clic y arrastro
para crear esta cosa.
Este va a ser mi orden,
este va a ser mi orden por departamento,
y luego último, y doy clic en Aceptar.
Puedo dar clic derecho
aquí para editar el texto
y puedo cambiar el texto para que diga
Ord Dep y Último

English: 
Now I'm done, go to the Developer
tab, click Stop Recording.
Here's the really cool part.
If we have coworkers who are
not able to sort and filter,
maybe they don't know
how to use those tools.
Anything that's a macro,
I can actually turn into
a button on the interface
and they can just click on that button
and it will do what they want to do.
So if I go to the Insert tab,
so on the Developer tab of the ribbon,
and I'm going to the Insert
button and in the Insert Menu,
you'll see a bunch of
fantastic form controls here.
We will go over a few more of these
throughout the course of the class,
but I'm going to start with talking about
the Button macro, it's on the top left.
I'm going to choose that.
And when I bring my cursor
back into the interface,
it looks like I'm about to draw a square.
And that's kind of what it
looks like when I click and drag
to actually create this thing.
And this is going to be my sort,
this is going to be my sort by department,
and then last and I'll click Okay.
And I can right click
on this to edit the text
and I can actually change the text to say
Sort Dept and Last,

Spanish: 
y luego quizás lo pongo en otro
para mi segundo ordenamiento
y mi segunda fuente es ordenar
por estatus y luego primero,
y doy clic en Aceptar de nuevo.
Editar mi texto aquí,
Ordenar Estatus,
y luego Primer Nombre.
Ahora mis usuarios finales,
personas que podrían no
saber cómo usar Ordenar,
pueden dar clic en estos y ordenarlos
exactamente como querían.
Funciona igual para filtrar.
Voy a hacer un par de macros para filtrar.
Voy a dar clic en Grabar Macro,
y este será un filtro
para mi departamento de operaciones.
Quiero ver a todas las
personas con jornadas completas
del departamento de operaciones.
Bien.
Doy clic en Aceptar.
Empecé mi grabación aquí,
voy a la pestaña Datos,
mi filtro ya está activado.
Voy al departamento y digo,
quiero buscar operaciones.

English: 
and then maybe I'll put it in
another one for my second sort
and my second source is the
sort by status and then first,
and I'll click Okay again.
Editing my text here,
Sort Status,
and then First Name.
And now my end users,
folks who might not already
know how to use sorting,
they can just click on
these and have it sort
exactly like they wanted to.
The same thing works for filtering.
So I'm going to make a
couple of filtering macros.
I'm going to click on Record Macro,
and this one is going to be a filter
for my operations department.
And I want to see all the
people that work full time
in the operations department.
Okay.
So I'm clicking on Okay.
I did start my recording here,
going to the Data tab,
my filter's already on.
So I'm going to go to
the department and say,
okay, I want to find operations.

Spanish: 
Ahí está.
Escojo solo una operación
simple y doy clic en Aceptar.
También quiero buscar a las
personas con jornada completa
Voy a elegir seleccionar
todos para desmarcarlos todos
y escojo tiempo completo, tiempo completo.
Hay un par de personas diferentes.
Hay una raya en algunos de
ellos y doy clic en Aceptar.
Estas son todas las personas en mi
departamento de operaciones
que trabajan tiempo completo
y voy al Programador y
detengo la grabación.
Ese es uno.
Digamos que necesito otro
para mi compañero de trabajo.
Así que voy a grabar otro.
Este va a filtrar
a las personas que trabajan entre 35
a 40 horas.
Doy clic en Aceptar.
En la columna de horas trabajadas,
ahora puedo aplicar un filtro de número,
estos filtros de número también funcionan.
Voy a decir entre
35
y
40,
Aceptar.
Terminé.
Voy a detener la grabación
y quizás voy a hacer uno más para ellos,
eso va a limpiar el filtro.

English: 
There it is.
I'm choosing just a simple
operations and I'll click Okay.
And then I also want to find
people that are full time.
So I'm going to choose,
select all to unselect all,
and I'm choosing full time, full time.
There are a couple of different people.
There's a dash in a few of
them and I'll click Okay.
And these are all the people
in my operations department
that worked full time
and I'll go to the Developer
and I'll stop recording.
So that's one.
Let's say I need to make
another one for my coworker.
Alright, so I'm going
to record another one.
And this one is going to filter
folks who work between 35
to 40 hours.
And I'll click Okay.
And over here in the hours worked column,
I can now apply a number filter,
these number filters work just as well.
And I'll say between
35
and
40
click Okay.
And then I'm done.
So I'm going to stop recording
and then maybe I'll
make one more for them,
that's just going to clear the filter.

Spanish: 
LimpiarMiFiltro.
Doy clic en Aceptar.
Ahora voy a volver a la pestaña Datos
y voy a dar clic en este botón de Borrar.
Listo, regreso a Programador,
Detener Grabación.
Ahora, por supuesto, al igual que antes,
puedo crear estos lindos botones aquí,
y este va a filtrar por
operaciones de tiempo completo
y doy clic en Aceptar.
Quizás lo voy a hacer más ancho.
Bien.
Pondré otro botón aquí.
Ese es para filtrar 35 a 40
horas y doy clic en Aceptar.
Luego, voy a poner el lindo ahí
que va a borrar todo,
y luego termino.

English: 
ClearMyFilter.
I'll click Okay.
And now I'm going to
go back to the Data tab
and I'm just going to
click on this Clear button.
That's it, going back to the
Developer, Stop Recording.
And now of course, just like before
I can create these
nice-looking buttons here,
and this one is going to filter for
operations full time and I'll click Okay.
Maybe I'll make that a little bit wider.
Okay.
I'll put another button here.
That's to filter 35 to 40
hours and I'll click Okay.
And then I'm just going to
put the nice one in there
that's going to clear everything,
and there I'm done.

Spanish: 
Mis compañeros deberían poder filtrar
por operaciones de tiempo
completo y luego borrarlas
y ver el filtro de 35 a 40 horas.
Y pueden ver ambos al mismo tiempo
si filtran uno de ellos
y luego filtran el siguiente también.
¿Por qué no intentan eso?
Pausen el video,
graben al menos un macro para ordenar
y al menos un macro para filtrar.
Asegúrense de no usar
referencias relativas.
Una vez que los hayan grabado y probado,
regresen y hablaremos sobre
macros incluso más interesantes
que podemos grabar.
Bienvenidos de vuelta.
Una de las otras herramientas fantásticas
que funciona muy bien
con el grabador de macros
es la protección de celdas y hojas.
Ahora voy a usar un camino especial
a través del cual seleccionar
celdas, bloquear y no bloquear
Normalmente, podrían dar
clic en cualquier celda
que quieran que sus
usuarios finales modifiquen
después de proteger su hoja.
Podrían ir a la pestaña Formato y decir,
quiero desbloquear esas.

English: 
Now, my coworkers should be able to filter
by operations in full
time and then clear it
and see filtered 35 to 40 hours.
And they can see them
both at the same time
if they filter one of them
and then filter the
next one as well, okay.
So why don't you go ahead and try that.
Pause the video,
record at least one sort macro
and at least one filter macro.
Make sure to not use relative references.
And once you have those
recorded and test them out,
then come back and we will talk about
some even more interesting
macros that we can record.
Welcome back.
One of the other fantastic tools
that works really well
with the macro recorder
is cell and sheet protection.
Now I'm actually going
to use a special pathway
through which to select cells,
to lock and not to lock.
Normally you could click on any cell
that you wanted your end
users to be able to modify
after you protected your sheet.
And you could go to
the Format tab and say,
I want to unlock those.

English: 
That's how we would create
cells that an end user
actually could modify.
However, I'm not actually
going to select these cells.
Because once I select these cells,
that's what actually gets recorded.
And I can't use this on any
differently built spreadsheets.
So instead I'm going to use the
Find and Select tool in Excel.
That's on the Home tab.
All right, let's go ahead and do this.
Go into the Developer tab,
clicking on Record Macro
and I am going to record this macro.
I'm going to call it
InputCellFormat
and then Protect,
then I'll click Okay.
And now I'm going to go to
the Home tab of the ribbon
and all the way on the right-hand side,
I'm going to find the option that says,
Find and Select.
I'm going to choose, Go To Special.
And in here I'm going to choose Constants,
particularly constants
that are numerical values.
So I'm going to ignore
Text, Logicals and Errors.

Spanish: 
Así es como crearíamos
celdas que un usuario final
podría modificar.
No obstante, no voy a
seleccionar estas celdas.
Porque una vez que
selecciones estas celdas,
eso es lo que se grabará.
Y no podré usar esto en hojas
con una construcción diferente
En vez de eso, voy a usar la
herramienta Buscar y Seleccionar de Excel.
Está en la pestaña Inicio.
Hagamos esto.
Vayan a la pestaña Programador,
dan clic en Grabar Macro,
y voy a grabar este macro.
Lo llamaré
FormatodeEntradadeCelda
y luego Proteger,
luego doy clic en Aceptar.
Ahora voy a ir a las
pestaña Inicio de la cinta
hasta el final del lado derecho,
voy a buscar la opción que dice
Buscar y Seleccionar.
Voy a escoger Ir a Especial.
Ahí voy a escoger Constantes,
particularmente constantes
que son valores numerales.
Voy a ignorar Texto,
Valores lógicos y Errores.

Spanish: 
Solo el número de valores que es constante
y doy clic en Aceptar.
Estos suelen ser valores de entrada,
los cuales tienden a ser el tipo de cosas
que mi usuario final puede modificar.
Así que voy a desbloquearlos,
voy a mi pestaña Formato.
Voy a desbloquear estos.
También voy a cambiar
los colores levemente,
para que mis usuarios finales sepan que
se supone que puedan
modificar estas celdas.
Luego voy a configurar
mi hoja con la protección
que va a proteger las demás
celdas de la hoja de cálculo
dando clic en Proteger Hoja.
No voy a aplicar una palabra clave aquí.
Solo voy a dar clic en Aceptar.
Y terminé.
Vayan a la pestaña Programador
y Detener Grabación.
Si queremos probar esto y ver si funciona,
podemos ir a una hoja
completamente diferente,
que se ve completamente diferente.
Igualmente, debería funcionar aquí
por los caminos que usamos.
Así que voy a mi botón
de Macros aquí arriba,
busco mi macro,
que tiene que ver con
ProtegerFormatodeEntradadeCelda
y doy clic en Ejecutar.
Aquí vamos.
Si funcionó completamente,

English: 
Just the number of
values that are constant,
and I'm going to click Okay.
These tend to be input values,
which tend to be the kind of thing
that my end user can modify.
So I'm going to go ahead and unlock these,
going to my Format tab.
I'm going to unlock these guys.
I'm also going to change
the colors ever so slightly
so that my end users will know that
they're supposed to be
able to modify these cells.
And then I'm going to set up
my sheet with the protection
that's going to protect every
other cell in the worksheet
by clicking on Protect Sheet.
I'm not going to apply a password here.
I'm just going to click Okay.
And I'm done.
Go into the Developer
tab and Stop Recording.
And if we want to test
this and see if it works,
we can go to a completely
different-looking sheet here,
which very much looks
completely different.
And it should still work here
because of the pathways that we used.
So I'll go to my Macros button up here,
I'll find my macro,
which has to do with
InputCellFormatProtect
and I'll click on Run.
And there we go.
And if it's worked perfectly,

Spanish: 
debería poder dar clic en
cualquier de estas celdas
y no poder agregar ninguna información.
Aquí voy, doy clic,
y efectivamente recibo
ese mensaje de error,
pero debería poder subir a la celda B3.
Esta debería ser una
celda de entrada válida
y debería poder cambiar este a otro valor.
Aquí vamos.
Pude hacer eso.
Modificó todas las fórmulas
en mi hoja de cálculo
y ahí lo tenemos.
Si no lo han hecho todavía,
tómense el tiempo ahora
para pausar el video
e intenten crear este
macro para ustedes también.
Van a ir a la primera hoja aquí.
Empezarán a grabar su macro.
Van a ir a la pestaña Inicio,
usen su herramienta Buscar y
Seleccionar e Ir a Especial
para buscar solo constantes,
solo constantes numéricas.
Dan clic en Aceptar, las
formatean, las desbloquean.
Y luego protegen su hoja.
Después de hacer eso,
asegúrense de dar clic a Detener Grabación
y luego vayan a la
próxima hoja en la fila,
que se llama Prueba

English: 
I should be able to click
on any one of these cells
and not be able to enter any information.
So there I go, clicking,
and indeed I do get that error message,
but I should be able to go up to cell B3.
This should be a valid input cell,
and I should be able to
change this to another value.
And there we go.
I was able to do that.
It did modify all of the
formulas in my spreadsheet
and there we are.
If you haven't done so already,
take the time now to pause the video
and try and create this
macro for yourself as well.
You'll go to the first sheet here.
You will start recording your macro.
You'll go to the Home tab,
use your Find and Select
tool and Go To Special,
to find only Constants,
only numerical constants.
You'll click Okay, format
those, unlock them.
And then you will protect your sheet.
After you've done that,
make sure to click Stop Recording,
and then go to the next sheet in line,
which is called Test

Spanish: 
y ejecuten su macro en esta hoja
y comprueben si funciona.
Cuando terminen, regresen
y continuaremos con macros
incluso más complicados.
Bienvenidos de vuelta.
Para el resto del curso,
vamos a empezar a escribir un Script VBA.
Para poder editar,
vamos a pasar bastante tiempo
en la interfaz VBA.
Vamos y acostumbrémonos a ella ahora.
En el lado derecho de mi pantalla,
tengo la ventana de Visual
Basic para Aplicaciones abierta.
En su mayor parte, es gris,
pero en el lado izquierdo tengo
a lo que se le llama
Explorador de Proyectos.
También tengo la ventana de Propiedades
que puedo ver por aquí.
Espero ver un área aquí
donde tengo algo de código.
No obstante, no está presente
porque no tengo ningún código ahí.
No tengo ningún código aquí
porque no tengo ningún macro aquí.
En el lado izquierdo

English: 
and run your macro on this sheet
and see if it works.
When you're done, come on back
and we will move on to even
more complicated macros.
Welcome back.
For the rest of the course,
we're going to start actually
writing some VBA scripting.
In order to make any edits,
we're going to be spending
quite a bit of time
in the VBA interface.
So let's go ahead and get used to it now.
On the right-hand side of my screen,
I do have the Visual Basic
for Applications window open.
Now most of it is gray,
but on the left-hand side I do have
what's referred to as the
Project Explorer over here.
And I do also have the Properties window
that I can see over here as well.
Now I do expect to see an area over here
where I actually have some code,
however, that's not present
because I don't have any code in here.
I don't have any code in here
because I don't have any macros in here.
On the left-hand side

Spanish: 
de mi ventana Explorador de Proyectos,
normalmente, si tuviera
algunos macros ahí,
verían una carpeta que dice Módulos
y esa carpeta llamada Módulos
tendría todos los diferentes macros
que tengo para este archivo en particular.
Para poder poner un módulo aquí,
iré al menú desplegable Insertar
en la barra de herramientas
Voy a escoger Módulo
y eso inserta este módulo para mí.
También inserta una carpeta de módulos
e instantáneamente tengo Módulo1
y podría
escribir el código que yo quiera.
Ahora, por supuesto, el
código debe tener sentido,
así que lo que escribí
podría no ser de ayuda,
pero aquí tengo mi ventana
de código del lado derecho.
Eso es exactamente lo que quería.
Estas son algunas características
que quiero que podamos ver
antes de continuar y
empezar a hacer scripts.
Quiero que podamos ver
la ventana de ejecución.
No puedo verla en este momento,
así que voy a mi menú desplegable Vista

English: 
in my project Explorer window,
normally, if I actually
had some macros in here,
you would see a folder that said Modules
and that folder called Modules
would contain all of the different macros
that I have for this particular file.
So in order to get a module in here,
I'm going to go to the Insert
Dropdown menu in the tool bar.
I'm going to choose Module.
And that inserts this module for me.
It also inserts a Modules folder
and I instantly have Module1
and I could go ahead and
type in whatever code I want to.
Now of course the code
actually has to make sense,
so what I just typed would
be not particularly helpful,
but I do have my code window
up here on the right-hand side.
So that's exactly what I wanted.
There are a couple other features
that I do want us to be able to see
before we move on and
start doing some scripting.
I want us to be able to
see the immediate window.
Now, I can't see it right now
so I'm going to go to
my View dropdown menu,

English: 
and I'm going to choose
my immediate window.
My immediate window is this area
at the bottom of the screen.
Now, normally there is no
script in there whatsoever,
but I do have my immediate
window down here.
And this immediate window is amazing.
It allows us to be able
to run little bits of code
and also ask questions of our workbook.
So let's say for instance,
I want to ask a question like,
how many worksheets do
I have in my workbook?
If I'm going to ask a question,
I'm always going to start
with my question mark,
and then I can type something
like Worksheets.Count
and we'll be able to explore
this a little bit later
and see why exactly that little
bit of code I just typed in
makes sense.
But I can ask a question
like this and just hit Enter.
And then I get that answer.
I can also ask a question like,
hey,
what value
is in range
cell B2?
So what value is in B2?

Spanish: 
y voy a escoger mi ventana de ejecución.
Mi ventana de ejecución es esta área
al final de la pantalla.
Normalmente, ahí no hay ningún script,
pero sí tengo mi ventana
de ejecución ahí abajo.
Esta ventana de ejecución es increíble.
Nos permite ejecutar
pequeños trozos de código
y también hacer preguntas
de nuestro libro.
Digamos, por ejemplo,
que quiero hacer una pregunta como
¿cuántas hojas tengo en mi libro de Excel?
Si voy a hacer esta pregunta,
siempre voy a empezar
con mi signo de pregunta
y luego puedo escribir
algo como Worksheets.Count
y podré explorar esto un poco más tarde
y ver exactamente por qué ese
trozo de código que escribí
tiene sentido.
Pero puedo hacer una pregunta
como eso y dar clic en Intro.
Y recibo la respuesta.
También puedo hacer una pregunta como,
ey,
¿qué valor
está en el rango
de la celda B2?
¿Cuál valor está en B2?

English: 
And it will tell me exactly which text
is in that particular cell, right?
I can also choose to execute
little bits of code here.
People do this for different reasons.
Maybe they just want to make a quick edit,
or maybe they want to be able
to test out a line of code
and actually see if it's going to work.
This is a great place
to test out your code.
So maybe I would say something like,
hey, that cell that I have
selected on right now,
when it comes to horizontal alignment,
casing doesn't really matter here,
I want it to be centered.
So I'll say xlCenterAcross
the selection.
And when I hit Enter, it actually
executes that bit of code.
And now it is centered there in cell B2.
If I changed my mind and I
wanted this to be left alignment,
I could say xlLeft
and execute that.
And there we go, that is left aligned now.

Spanish: 
Y me dirá exactamente qué texto
hay en esa celda en particular.
También puedo escoger ejecutar
pequeños trozos de código.
Esto se hace por diferentes razones.
Quizás quieren hacer una edición rápida
o quizás quieren probar
una línea de código
y ver si realmente va a funcionar.
Este es un gran lugar
para robar su código.
Quizás puedo decir algo como,
esa celda que tengo seleccionada ahora,
cuando se trata de alineación horizontal,
el marco no importa aquí,
quiero que esté centrada.
Así que diré xlCenterAcross
la selección.
Cuando doy clic en Intro,
ejecutará ese trozo de código.
Ahora está centrado en la celda B2.
Si cambiara de opinión y
quisiera alinearla a la izquierda
podría decir xlLeft
y ejecutar eso.
Ahí lo tenemos, está alineada
a la izquierda ahora.

Spanish: 
Lo último que quiero que entendamos
sobre nuestra interfaz
o que podamos ver sobre nuestra interfaz,
nuestra interfaz VBA,
antes de continuar y empezar a hacer
el código por el resto de la clase
es saber dónde está nuestro
Buscador de Objetos.
Y queremos saber qué es.
Esta es otra cosa que queremos poder ver.
Así que voy a ir al menú desplegable Vista
y escoger mi Buscador de Objetos.
Veré esta ventana extra
que aparece aquí en el lado derecho.
Esta es una biblioteca
de todos los objetos
y colecciones y propiedades y métodos
y todo tipo de cosas geniales
que pueden hacer con VBA.
Cuando estamos empezando,
solo vamos a aprender algunas cosas útiles
que es bueno saber
mientras empezamos con VBA.
No obstante, es muy bueno
saber que esta biblioteca está
aquí para consultarla.
Bien.
Pausen el video
y asegúrense de que interfaz de VBA
se ve como la mía.

English: 
The last thing we want to understand
about our interface,
or be able to see about our interface,
our VBA interface that is,
before we move on and start doing
the coding for the rest of the class,
is we want to know where
our Object Browser is.
And we want to know what it is.
This is another thing that
I want to be able to see.
So I'm going to go to
the View dropdown menu
and choose my Object Browser.
And I'll see this extra window
that pops up here on the right-hand side.
Now this is a library
of all of the objects
and collections and properties and methods
and all the cool kinds of stuff
that you can do with VBA.
Now, when we're first starting out,
we're just going to learn a few handy ones
that are good to know as we're
getting started with VBA.
However, it is very nice to
know that this library's in here
so I can consult this library.
Okay.
So go ahead and pause the video
and make sure that your
interface, your VBA interface
looks like mine.

Spanish: 
Debemos tener un Explorador de Proyectos
en el lado superior izquierdo.
En ese Explorador de Proyectos,
deberíamos tener una
carpeta que diga Módulos.
Tengo esa carpeta que dice Módulos
porque realmente inserté un módulo.
Así que fui a mi menú desplegable Insertar
e inserté un módulo ahí.
Eso fue lo que me dio esta carpeta de ahí.
Cuando obtuve esa
carpeta y obtuve Modulo1,
también apareció esta ventana de código.
Así que vamos a asegurarnos de que tenemos
esta ventana de código aquí arriba.
También deberíamos tener una
ventana de Propiedades abajo,
que usualmente es estándar.
Lo otro que queremos ver
es nuestra ventana de ejecución,
que está en la parte
inferior de nuestra pantalla.
Para poder ver eso,
tuve que ir al menú desplegable Vista
y escoger Ventana de Ejecución.
Hace un momento, también les
enseñé el Buscador de Objetos.
No vamos a usar el Buscador
de Objetos ahora mismo,
pero quería que supieran
exactamente dónde encontrarlo.
Así que asegúrense de que pueden ver

English: 
That is we should have a Project Explorer
on the upper left-hand side.
In that Project Explorer,
we should have a folder
that says Modules, right?
And I got that folder that said Modules
because I actually inserted a module.
So I went to my Insert dropdown menu
and I inserted a module right there.
And that's what gave me that
folder here, right there.
And when I got that folder
here and I got Module1,
I also got this code window.
So we do want to make sure that we have
this code window up here.
We should also have a
Properties window down here,
that usually comes standard.
The other thing that we do want to see
is our immediate window,
which is on the bottom of our screen.
Now, in order for me to see that
I did have to go to the View dropdown menu
and choose Immediate window.
Now a second ago, I did also
show us the Object Browser.
We're not going to be using
the Object Browser right now,
but I did want us to know
exactly where to find it.
So just go ahead and
make sure that you do see

Spanish: 
su ventana de ejecución en la
parte inferior de su pantalla.
Tienen una ventana de código aquí arriba
en el lado derecho.
Pausen su video
y asegúrense de que la tienen
y luego regresen.
Y vamos a hacer un script.
Para esta siguiente sección,
vamos a usar un archivo
llamado Font Styles.
Tengo ese archivo abierto
en mi pantalla aquí arriba
llamado Font Styles.
Ahora es un buen momento
para pausar el video
y tomar el archivo Font Styles.
Luego, abran VBA en el lado
derecho de su pantalla,
para que puedan ver
ambos uno junto al otro.
Una vez que hayan abierto VBA,
pausen el video y continuaremos.
Cuando tengamos un poco más de experiencia
creando macros,
los crearemos desde cero.
Vamos a hacer eso en un minuto,
pero antes,
veamos cómo los construye la grabadora.
Si nuestras ventanas de Excel
y VBA están lado a lado,
podremos ver la creación del macro
mientras la grabadora trabaja.

English: 
your Immediate window though,
at the bottom of your screen.
And you have a Code window up here
on the upper right-hand side.
Go ahead and pause your video
and make sure that you have it
and then come back.
And we're actually going
to do some scripting.
For this next section,
we're going to be using a
file called Font Styles.
And I have that file
open on my screen up here
called Font Styles.
Now is a good time to pause the video
and grab the file called Font Styles.
Then open up VBA on the
right-hand side of your screen
so that you can see
them both side by side.
And once you have VBA open,
go ahead and unpause the
video and we'll continue.
When we get a little bit more experienced
in creating macros,
we'll find ourselves
creating them from scratch.
We're going to be doing
that in just a minute,
but before we do,
let's see how the recorder
actually builds them.
If we have our Excel window
and VBA window side by side,
we can watch the macro
creation as the recorder works.

English: 
So let's go ahead and
record this macro here.
What we're gonna be doing
is we're going to be changing the font
of this particular spreadsheet here.
So let's say, for instance,
one of the departments that
gets this financial report
needs to be able to,
or prefers to see it in
a particular font styling
such as Times New Roman or Verdana
or Calibri
or something like that.
And so every time I create this report,
I have the issue of needing to go here
and use my Font dropdown menu
and go down and find Times New Roman.
And maybe that takes me 10 seconds or so,
but it would be a whole lot
more handy if I had a macro
that would automatically just change
the formatting of the
entire document here.
And that's what we're going to be doing.
And as we're doing this,
make sure to keep an eye
on the right-hand side,
where we are going to be
able to see certain changes
being made by the macro recorder.
All right, let's go ahead and get started.
We're going to the Developer tab.
And on the left-hand side,
you're going to find your Code
command group up at the top.

Spanish: 
Grabemos este macro.
Lo que vamos a hacer
es cambiar la fuente
de esta hoja de cálculo en particular.
Digamos, por ejemplo, que
uno de los departamentos que
recibe el informe financiero
necesita poder
o prefiere verlo en este
estilo de fuente en particular,
como Times New Roman o Verdana
o Calibri
o algo así.
Así que cada vez que creo este informe,
tengo la necesidad de ir aquí
y usar mi menú desplegable de Fuente
y bajar y encontrar Times New Roman.
Quizás eso me toma 10
segundos o algo similar,
pero sería mucho más útil tener un macro
que cambie automáticamente
el formato de todo el documento aquí.
Y eso es lo que vamos a hacer.
Mientras hacemos esto,
asegúrense de estar
pendientes del lado derecho,
donde vamos a poder ver ciertos cambios
que la grabadora de macros va haciendo.
Bueno, empecemos.
Vamos a la pestaña Programador.
Del lado izquierdo,
van a encontrar su grupo de
comandos de código arriba.

Spanish: 
Verán un pequeño botón
que dice Grabar Macro.
Dependiendo de qué tan grande
tienen su ventana abierta,
se podría ver cómo un
pequeño ícono como este,
o se podría ver como un
ícono más grande como este
que dice Grabar Macro.
Todo dependerá de qué tan
grande es su ventana de Excel.
La mía es pequeña, así.
Voy a dar clic en Grabar Macro aquí
y lo llamaré,
llamemos este
TimesNewRoman,
sin espacios, debe empezar con una letra
y puedo asignar una tecla de atajo.
Quizás le asignaré la tecla
de atajo Control + Mayus + T
y estoy sosteniendo Mayus
+ T, así que T mayúscula.
Eso hace que mi tecla de atajo sea
Control + Mayus + T.
No tengo la opción de
no tener Control en la tecla de atajo.
La voy a almacenar en
este libro en particular
y vos a dar clic en Aceptar.
Aquí vamos.
Lo primero que voy a hacer es

English: 
You will see a little button
that says Record Macro.
Now, depending on how large
you have your window open,
it might look like a small icon like this,
or it may look like a
larger icon like this
that actually says Record Macro.
It'll all depend on how big you
have your Excel window open.
Mine is small, like this.
I'm going to go ahead and
click on Record Macro here,
and we'll call this one,
let's call this one
TimesNewRoman,
no spaces, has to start with a letter
and I could assign a shortcut key.
Maybe I'll assign the shortcut
key Control + Shift + T
and I'm holding down
shift + T, so capital T.
And that does make my shortcut key
Control + Shift + T.
I don't have the option to
not have Control in the shortcut key.
And I am going to store it
in this particular workbook
and I'm going to click Okay.
And here we go.
The first thing I'm going to be doing is

Spanish: 
dar clic en esta área
entre mis encabezados
y mis encabezados de columna
en la parte superior izquierda.
Esto selecciona todo lo que
está en mi hoja de cálculo.
Luego voy a mi pestaña de Inicio,
y voy a escoger
cambiar todas las
fuentes a Times New Roman
y me desplazo hacia abajo hasta las T
y busco Times New Roman.
Aquí vamos.
Doy clic en mi pestaña
Programador y pulso Detener.
Eso creó este macro en particular aquí.
En el lado derecho
verán que se creó esta nueva
carpeta llamada Módulos.
No tenía ningún macro ahí antes de tiempo
así que no tenía esta
carpeta hace unos segundos,
pero en el momento en el que
empecé a grabar un macro,
obtuve esta carpeta
y ahora puedo abrir esta carpeta
y ver dentro del módulo
que se creó aquí llamado Modulo1.
Si doy doble clic sobre eso,
veré la ventana de
código que se creó aquí.
Tengo este macro llamado TimesNewRoman
y esto es lo que la
grabadora de macros grabó.
Ahora digamos, por ejemplo,

English: 
clicking on this area in
between my row headers
and my column headers on the top left.
This selects everything in my worksheet.
And then I'm going to go to the Home tab
and I'm going to choose
to change all of the font
here to Times New Roman
and I'll scroll all the
way down into the Ts
and find Times New Roman.
And there we go.
And I'll click on my Developer
tab and hit the Stop button.
And that's created this
particular macro here.
Now on the right-hand side,
you'll see that this new folder
was created called Modules.
I didn't have any macros
in here ahead of time,
so I didn't have this
folder a few seconds ago,
but the moment I started
to record a macro,
I did get this folder
and now I can open up this folder
and take a look in the module
that has actually been
created here called Module1.
And if I double click on that,
I will see the code window
that was created here for me.
So I do have this macro
called TimesNewRoman,
and this is what the
macro recorder recorded.
Now, let's say for instance,

Spanish: 
que también quiero poder enviar esto
a un departamento diferente
y ese departamento prefiere
el estilo de fuente Verdana.
En este caso,
voy a grabar un macro.
Voy a dar clic en Grabar
y voy a llamar este Verdana
y voy a dar clic en Aceptar.
Aquí vamos, estoy seleccionando
todo mi texto primero,
voy a la pestaña Inicio,
busco Estilos de Fuente,
y voy a buscar Verdana aquí.
Noten que, cuando hago eso,
¿vieron qué sucedió en
mi ventana de código?
La grabadora de macros
grabó un conjunto de código.
Hasta ahora, ese código dice,
este es el nombre de mi macro
y estos son algunos comentarios sobre él.
Se llama macro Verdana.
Ese es el comentario, muy simple.
Luego dice, seleccionar todas mis celdas,
y nos adentraremos en esto un poco más,
pero luego tengo este montón de código
que pasó aquí y terminé mi macro.

English: 
that I want to also be able to send this
to a different department
and that other department,
they really prefer
the font style Verdana.
In this case,
I'm going to record a macro.
So I'm going to click on record
and I'm going to call this one Verdana
and I'm going to click Okay.
And here we go, I'm
selecting all my text first,
going to the Home tab,
finding my Font Styles,
and I'm going to go and find Verdana here.
Okay, notice when I do that,
did you see what happened
over here in my code window?
A bunch of code got recorded
by the macro recorder here.
And so far that code says,
this is the name of my macro,
and this is some comments about it.
It's called the Verdana macro.
That's the comment, very simple.
And then it says all of my cells select,
and we'll get into this a little bit more,
but then I have this big old chunk of code
that happened here and
I'm done with my macro.

Spanish: 
Voy a la pestaña Programador
y voy a pulsar la tecla Detener.
Si quiero cambiar esto de
regreso a Times New Roman,
puedo hacer Control + Mayus + T,
esa es la tecla de atajp que le asigné,
que cambia todo mi texto
al macro TimesNewRoman.
Pero veamos
qué grabó la grabadora de macros.
Tenemos nuestro primer macro aquí arriba.
Es todo desde la palabra
Sub hasta el final
donde dice End Sub.
Van a ver que todos sus macros
tienen este tipo de estructura.
Van a necesitar una instrucción inicial
y una instrucción final.
Me gusta referirme a
estas como reposalibros.
Ayudan a sostener todo junto adentro.
Entonces, tengo al inicio Sub y End Sub,
y voy a ver eso de nuevo
en mis otros macros aquí,
veo el siguiente,
el macro Verdana dice
Sub y End Sub aquí mismo.
Eso siempre está en el exterior.
Otros patrones que quiero que noten

English: 
So I'm going to the Developer tab
and I'm going to hit the Stop key.
So if I want to switch this
back to Times New Roman,
I can do Control + Shift + T,
that is the shortcut
that I assigned to this
that it changes all of the text there
to my TimesNewRoman macro.
But let's go ahead and take a look
at what the macro recorder recorded.
So we have our first macro up here.
It's everything from the word
Sub down through the end,
where it says, End Sub.
Now you'll find that all of your macros
are going to have this
kind of a structure.
They're going to need
a beginning statement
and an ending statement.
I like to refer to these as bookends.
They help hold everything inside together.
Okay, so I do have at the
beginning Sub and End Sub,
and I'll see that again
in my other macros here,
I see the next one,
the Vedanta macro says Sub
and End Sub right there.
Okay, so that's always on the outside.
Some other patterns I want to make note of

English: 
are the fact that all
of this text is green.
And at the beginning of these lines
are these little apostrophes.
That apostrophe is used
to comment out certain
lines of stuff.
So if I wanted to make a
note to myself for later on,
maybe I want to say,
this is for the
development department,
maybe they prefer that particular look,
and I'm going to hit my Enter key,
and then notice that
that shows up as green.
So the nice part is that this
isn't actually going to be run as code.
This is just a note for me, right?
This is called commenting out,
and I'll be referring to
this throughout the course.
And indeed other macro coders
are going to be using this term as well,
commenting out.
Now commenting out is also used
for other strategies as well.
For instance, when I start
to look at my code here
that the macro recorder created,
there's actually a ton of
stuff here that I don't need.
Normally, if I were to
create this macro on my own,
it would be a whole lot more simple.

Spanish: 
son el hecho de que todo
este texto es verde.
Al principio de estas líneas
tenemos estos pequeños apóstrofos.
El apóstrofo se usa
para comentar ciertas
líneas.
Si quisiera hacer una nota
mental para más adelante,
quizás diría,
esto es para el
Departamento de Desarrollo,
quizás prefieren esta
apariencia en particular,
y voy a pulsar mi tecla Intro,
y noten que eso aparece en color verde.
La parte bonita es que esto
no se va a ejecutar como código.
Es solo una nota para mí.
Esto se llama comentar,
y me referiré a esto durante el curso.
Otros codificadores de macros
usan este término también,
comentar.
Comentar también se usa
para otras estrategias.
Por ejemplo, cuando empiezo
a ver mi código aquí
que la grabadora de macros creó,
hay un montón de cosas que
en realidad no necesito.
Normalmente, si quisiera
crear este macro yo sola,
sería mucho más simple.

English: 
But the macro recorder
has a habit of recording
a bunch of extra stuff that's not needed.
You'll see this line that says,
do you want to put a
strike through on the text?
And it says false, which means no,
no, I don't want to strike through.
No, I don't want a superscript.
No, I don't want a subscript.
No, I don't want an outline on the font.
No, I don't want to shadow, right?
So we're basically seeing all these,
I don't want this, I don't want that,
I don't need this, I don't need that.
This is all just extra stuff
that the macro recorder throws in
because it doesn't really know
whether or not you need it.
So it just throws it in there and says,
nope, you don't need it.
But it turns out that all of this stuff
is actually completely unnecessary.
Now let's go ahead and take this concept
with what we've seen so far,
where it says, Cells.Select
And then we're going to take
this little statement here that
says Selection.Font, name
it, the name of that font,
it's Times New Roman.
And what we're going to do is
we're going to condense this macro down
to only have that little piece of text,

Spanish: 
Pero la grabadora de macros
tiene el hábito de grabar
muchas cosas extra que no se necesitan.
Verán esta línea que dice,
¿quieres tachar el texto?
Y dice falso, que significa no,
no quiero tachar el texto.
No, no quiero un superíndice.
No, no quiero un subíndice.
No, no quiero un diseño en la fuente.
No, no quiero una sombra.
Así que básicamente
estamos viendo todos estos,
no quiero esto, no quiero eso,
no necesito esto, no necesito eso.
Solo son cosas extra
que la grabadora de macros añade
porque en realidad no sabe
si lo necesitan o no.
Así que solo lo añade y dice,
no, no lo necesitas.
Pero resulta que todo esto
es en realidad completamente innecesario.
Ahora tomemos este concepto
con lo que hemos visto hasta
ahora, donde dice Cells.Select.
Luego, vamos a tomar esta
instrucción de aquí que
dice Selection.Font, la
nombramos, el nombre de la fuente
es Times New Roman.
Lo que vamos a hacer es que
vamos a condensar este macro
para solo tener un pequeño trozo de texto

Spanish: 
porque eso es todo lo que necesito.
Todas estas otras cosas,
la instrucción With,
todas estas cosas debajo de End With,
en realidad no necesito esas cosas.
Hablaremos más tarde sobre
por qué dice With y End With.
Esa es una estructura particular de código
que pueden crear ustedes mismos.
Es útil por un par de razones diferentes,
pero nosotros en realidad
no lo necesitamos.
Todo lo que necesitamos es la
instrucción que dice Selección
No necesito nada de esto.
Solo necesitaba que dijera Selection.Font
y si ejecutara esto, se
ejecutaría perfectamente bien.
Ahora ejecutemos nuestro macro Verdana
para cambiar nuestro
texto a Verdana de nuevo
y luego probar nuestro
macro Times New Roman.
Tengo mi macro Verdana aquí.
Si coloco mi cursos al
inicio de este macro,
puedo ejecutarlo directamente desde VBA.
Si buscan la barra de herramientas de VBA,

English: 
because that turns out is all I need.
So all of this other stuff in here,
the With statement,
all of these things down through End With,
I actually don't need that stuff.
And we'll talk about later today,
why it says With and End With.
That's a particular coding structure
that you can create yourself.
It's handy for a couple
of different reasons,
but it turns out for us,
we don't actually need it.
All we need is the statement
that says Selection.
I don't need any of this.
And all I needed to say is Selection.Font
and if I were to run this,
it would run perfectly fine.
Now let's go ahead and
run our Verdana macro
so we can switch our text back to Verdana
so that then we can test
our Times New Roman macro.
I do have my Verdana macro down here.
And if I place my cursor at
the beginning of this macro,
I can run it directly from VBA.
If you look up in the tool bar in VBA,

English: 
you'll see a button that
looks like a play button.
And the screen tip that
pops up for me says,
Run The Sub, right?
Sub is short for sub procedure,
which we'll be talking
about in a little bit,
but it says, run this up.
Okay, I'm going to do that.
I'm going to click on my play button.
And it runs that entire macro,
which turned all of the text into Verdana.
Now I do have my Times
New Roman macro now,
and I want to see if it still works.
I've deleted a bunch of lines of code,
and I just want to see if it still works.
So I'm going to click in
my TimesNewRoman macro,
and I'm going to click on my
play button and indeed there,
it actually worked.
So I didn't need all this extra stuff
that the macro recorder included.
And you guys are going to
find that across the board,
when the macro recorder records stuff,
about half of the time,
it records a bunch of stuff
that we don't actually need.
So let's keep that in mind.
The reason why you might want
to remove this is just because

Spanish: 
verán un botón que parece
un botón de reproducción.
La información en
pantalla que aparece dice,
Ejecutar el Sub, ¿cierto?
Sub es la abreviatura de subproceso,
de lo cual hablaremos en un rato,
pero dice, Ejecutar esto.
Bien, voy a hacer eso.
Voy a dar clic en mi
botón de reproducción.
Y ejecuta ese macro entero,
que volvió todo el texto Verdana.
Ahora tengo mi macro Times New Roman
y quiero ver si todavía funciona.
Borré un montón de líneas de código
y quiero ver si todavía funcionan.
Así que voy a dar clic
en mi macro TimesNewRoman
y voy a dar clic en mi botón
de reproducción y, en efecto,
funcionó.
Así que no necesitaba estas cosas extra
que la grabadora de macros grabó.
Ustedes van a encontrar
eso en toda la pizarra,
cuando la grabadora de macros graba cosas,
aproximadamente la mitad de las veces,
graba un montón de cosas que
en realidad no necesitamos.
Así que tengamos eso en mente.
La razón por la que podrían
querer borrar esto es porque

Spanish: 
si tienen un macro muy, muy largo,
puede tomar algún tiempo
ejecutar ese macro
y tener pequeñas líneas
de código extra aquí
que no son necesarias hace que
tu macro dure más en ejecutarse.
Verán que tengo uno, dos, tres, cuatro,
cinco, seis, siete, ocho,
nueve líneas extra de código
y solo una línea de código necesaria.
Esta se considera la misma línea.
Esto va a conformar mi macro,
tener todas estas cosas
innecesarias terminará
haciendo que mi macro dure
10 veces más en ejecutarse
que este de aquí arriba.
En algunos casos, quiero eliminar
las cosas extra que la
grabadora de macros pone ahí.
Este es uno de esos casos.
Si no lo han hecho aún, háganlo.
Lo que vamos a hacer es que
vamos a grabar un par
de macros simples aquí.
Tenemos el archivo de Excel
llamado Font Styles abierto.
Lo que hicimos fue grabar dos macros,

English: 
if you have a really,
really very large macro,
it can be somewhat time
consuming to run that macro
and having little lines
of extra code in here
that are not necessary does
make our macro longer to run.
You'll see that I have
one, two, three, four,
five, six, seven, eight,
nine extra lines of code
and only one line of
necessary code here, right?
This is sort of considered the same line.
So this is going to make my macro,
having all this unnecessary
stuff here is going to end up
making my macro 10 times longer to run
than this one up here.
So in some cases I do want to remove
the extra things that the
macro recorder puts in there.
This is one of those cases.
If you haven't done so
already go ahead and do that.
What we're doing is
we are recording a couple
of simple macros here.
We do have the Excel file
called Font Styles open.
And what we did is we recorded two macros,

English: 
one called TimesNewRoman,
and one called Verdana.
The TimesNewRoman macro,
what we did is we modified it
so that it only had these
rows of information.
And these were consolidated from this line
and a combination of the
second two lines here.
Go ahead and do that,
consolidate your TimesNewRoman macro,
so that it only has the lines of code
that you actually need.
And when you're done with that,
come on back and we'll continue
working with editing macros.
Welcome back.
In this next section,
we're going to be modifying
some macros that we've already created
or editing the macros in the VBA editor.
So let's say we've created
this macro called Verdana
and it converts all the
texts in our worksheet
to Verdana.
However, it turns out that the department
that we thought wanted Verdana,
they actually now want Courier New.
So instead of having a Verdana macro,
I'm going to need a Courier New macro.

Spanish: 
uno llamado TimesNewRoman
y uno llamado Verdana.
El macro TimesNewRoman,
lo que hicimos fue modificarlo
para que solo tuviera
estas filas de información.
Estas se consolidaron de esta línea
y de una combinación de las
segundas dos líneas aquí.
Hagan eso,
consoliden su macro TimesNewRoman
para que solo tenga las líneas de código
que en realidad necesitan.
Cuando terminen con eso,
regresen y continuaremos
trabajando editando macros.
Bienvenidos de vuelta.
En esta siguiente sección,
vamos a modificar
algunos macros que ya creamos
o editar macros en el editor VBA.
Digamos que creamos este
macro llamado Verdana
que convierte todos los
textos en nuestra hoja
a Verdana.
No obstante, resulta que el departamento
que creímos que quería Verdana,
en realidad ahora quiere Courier New.
Así que, en vez de tener un macro Verdana,
voy a necesitar un macro Courier New.

Spanish: 
Pueden entrar a la interfaz VBA
y directamente hacer las
ediciones que quieran
directamente en la ventana de código.
Por ejemplo, en esta
línea de código de aquí,
donde se ingresó el tipo de fuente,
podemos simplemente remplazar
la palabra Verdana con
Courier New.
Y veremos si esto de hecho se ejecuta.
Si doy clic en el botón de
reproducción, aquí vamos.
Ahora todo el texto en mi archivo de Excel
fue convertido a Courier New.
Por supuesto, voy a querer
limpiar esto un poco.
El nombre de mi macro,
que está aquí arriba,
está siempre después de la palabra Sub.
Sub significa subproceso.
Nos adentraremos en eso
un poco cuando empecemos
a crear macros completamente desde cero.
Pero aquí voy,
estoy modificando este macro que ya existe
y voy a renombrarlo.
Lo voy a llamar CourierNew.
Recuerden que no puedo
tener espacios aquí.
Aquí abajo puse
una pequeña nota para mí que dice,
este es una macro Verdana.

English: 
You can go into the VBA interface
and directly make any
edits that you want to
directly in the code window.
For instance, in this
line of code right here,
where we have the font type populated,
we can simply replace
the word Verdana with
Courier New.
And we'll see that this actually runs.
If I click on the play
button, there we go.
Now all of the text in my Excel file
is converted to Courier New.
Of course I'll want to
clean this up a little bit.
And so the name of my
macro, which is up here,
it's always after the word Sub.
Sub stands for Sub procedure.
And we'll get into that a
little bit when we start
creating macros completely from scratch.
But here I go,
I'm just modifying this
macro that already exists,
and I'm going to rename it.
I'm going to call it Courier New.
Now, remember you can't
have any spaces there.
And then down in here where I've put
a little note in for myself that says,
oh, this is a Verdana macro.

Spanish: 
Voy a decir que este es
un macro Courier New.
Una pequeña nota para mí misma sobre
para cuál departamento es.
Al igual que antes,
la grabadora de macro
tiene un montón de código
innecesario.
Así que, si todavía no lo han hecho
con su segundo macro de aquí,
hagan que se parezca al primero.
Vamos a eliminar todo el
código innecesario de aquí.
Normalmente, lo que alguien haría sería
entrar aquí y borrar esto,
pero nosotros recomendamos no hacer eso.
Lo que recomendamos es desplazar
ciertas piezas de fuentes
como esta que dice
.Name = "Courier New",
y solo la desplazan.
Voy a mover esto después de la fuente
y luego voy a,
si reciben mensajes así, está bien,

English: 
I'm going to say this
is a Courier New macro.
And a little note for myself about
which department that's actually for.
Now, just like before,
the macro recorder still
has a bunch of code in here
that's unnecessary.
So if you haven't already done so
with your second macro here,
go ahead and make it look like the first.
We're going to remove all
the unnecessary code in here.
Now, normally what somebody would do is
they would go in here and delete this,
but we actually recommend
that you don't do that.
What we recommend is that you move
certain pieces of font around,
such as this one that says
.Name = "Courier New",
and you just move this around.
So I'm going to move
this up after the font,
and then I'm going to,
and if you get messages
like this, it's okay,

English: 
because we're still in the
process of working with this.
But what I am going to do is
I'm going to put my little apostrophe
and I'm going to put the apostrophe
before every single line that
I'm thinking about deleting
and what's handy about this
is that it allows me to
actually keep the code.
So when I test the code
out in just one second,
I'm going to make sure
that it actually works
without all of this code in here,
because the VBA program
is not going to run
any of this commented out code here.
It's going to skip it.
And so I'm just testing
to make sure that my macro
is actually going to work
if I delete all this stuff.
And if I test it out
and indeed it does work,
which apparently it did,
I can run my TimesNewRoman again,
to see the change.
There's TimesNewRoman,
then I'll run Courier New,
and that worked as well.
And now that I'm confident
that it actually worked
without these lines of code.
Now I can actually go in
here and delete these lines.

Spanish: 
porque todavía estamos en el
proceso de trabajar con esto.
Pero lo que voy a hacer es
poner un pequeño apóstrofo
y voy a poner el apóstrofo
antes de cada línea que
estoy pensando borrar,
y lo útil de esto
es que me permite mantener el código.
Cuando pruebo el código
en solo un segundo,
me voy a asegurar de
que en realidad funciona
sin todo este código aquí
porque el programa VBA
no va a ejecutar
ningún código comentado.
Se lo va a saltar.
Solo estoy probando para
asegurarme de que mi macro
en realidad va a funcionar
si borro todas estas cosas.
Y si lo pruebo y funciona,
lo cual aparentemente sucedió,
puedo ejecutar mi TimesNewRoman de nuevo
para ver el cambio.
Ahí está TimesNewRoman,
después voy a ejecutar Courier New,
y eso también funcionó.
Ahora confío en que de hecho funcionan
sin estas líneas de código.
Ahora puedo entrar aquí
y borrar estas líneas

Spanish: 
ahora que confío en que no funcionan.
A veces, modificaremos macros
y borraremos algún código
y luego trataremos de ejecutarlo
y nos encontraremos con problemas
que dicen que tiene un
error de tiempo de ejecución
o que no está funcionando o
surge algún tipo de problema.
Por esa razón, debemos tener cuidado
de no borrar el código completamente
hasta que estemos absolutamente
seguros de no necesitarlo.
De hecho, en el siguiente ejemplo,
vamos a hablar sobre
encontrarnos son problemas
cuando modificamos macros manualmente
y tenemos algún tipo
de error en el proceso.
Ese proceso se llamará
proceso de depuración.
Eso es lo siguiente.
Así que, si no lo han hecho todavía,
modifiquen sus macros aquí
para que no tengamos ningún tipo de
código innecesario de
la grabadora de macros.
Cuando terminen,
guarden este archivo y salgan de él
porque vamos a abrir otro
en la siguiente sección.
Bienvenidos de vuelta.
Para la siguiente sección,
vamos a usar un archivo llamado Debugging.

English: 
Now that I'm confident
that it didn't work.
Sometimes we'll be modifying
macros and we delete some code
and then we try and run it
and we get into a bunch of issues
with it saying that it has a runtime error
or it's not working or some
kind of a problem arises.
And for that reason, we want to be careful
to not completely delete the code
until we're absolutely
confident that we don't need it.
In fact, in the next example,
we're going to talk
about running into issues
when we are modifying macros manually
and we have some kind
of a bug in the process.
That process will be called
the debugging process.
And that's next.
So if you haven't done so already,
go ahead and modify your macros here
so that we don't have any of the
unneeded macro recorder code.
And when you're done,
you can go ahead and save
this file and close out of it
because we're going to
be opening another one
in the next section.
Welcome back.
For the next section,
we're going to be using
a file called Debugging.

English: 
So take a moment to pause the video
and make sure you have the
file called Debugging open,
and it's helpful to snap
your windows left and right.
So I'm going to take my Excel
window and snap it left.
And then here in Windows 10,
now I can just click on
the Visual Basic Window
on the right-hand side.
If you don't already
have visual basic open,
of course you can click on your
Visual Basic button in Excel
and then open up Visual
Basic on the right-hand side
and make sure that you can actually see
some of the code here.
You may need to click on
modules and click on Module1
in order to be able to see the code here.
Go ahead and pause to do that.
And then come on back.
When we start scripting,
you're going to find that sometimes
it doesn't go quite right.
And in fact, this is part of
the adventure of scripting.
All of us do run into trouble
and macros don't go right all the time
and when they don't go
right, we need to fix them.
So it's going to be advantageous
to understand how to use
the helpful tools in VBA
to discover what may have
gone wrong with a macro.

Spanish: 
Tomen un momento para pausar el video
y asegurarse de abrir el
archivo llamado Debugging.
Y es útil correr sus ventanas
a la derecha e izquierda.
Voy a tomar mi ventana de Excel
y correrla a la izquierda.
Luego, aquí en Windows 10,
ahora puedo dar clic en
la ventana de Visual Basic
en el lado derecho.
Si no tienen Visual Basic abierto,
pueden dar clic en su botón
de Visual Basic de Excel
y abrir Visual Basic en el lado derecho
y asegurarse de que de hecho pueden ver
algún código ahí.
Quizás deban dar clic en
Módulos y dar clic en Modulo1
para poder ver el código ahí.
Pausen para hacer eso.
Y luego regresen.
Cuando empecemos a hacer scripts,
van a encontrarse con que algunas veces
no funciona muy bien.
De hecho, eso es parte de la
aventura de hacer scripts.
Todos nos encontramos con problemas
y los macros no siempre funcionan
y cuando no funcionan,
necesitamos arreglarlos.
Así que será ventajoso
entender cómo usar
herramientas útiles en VBA
para descubrir qué puede
haber salido mal con un macro.

English: 
This is called debugging.
We're going to be using some
tools in the VBA toolbar
in order to debug our macro here.
Now, some of the tools
that I really like to use for debugging
aren't actually in the toolbar currently.
You can customize this
toolbar very easily.
If you right-click on
some of the empty space
on the right-hand side,
you can go down to
where it says Customize.
And then you can choose to
go to the left-hand side
and see a bunch of things
that are in each one of
these categories here.
I'm going to find the debugging category,
and I'm going to grab
a couple of tools here
that I like to use all the time.
I'm going to find the
tool that says Step Into,
and I'm going to click and drag Step Into,
and I'm going to place it up here.
And I'm also going to
grab Compile Project,
that's going to help me too.
There are a couple other tools
in here that are nice to use.
A lot of people would like
to use Toggle Breakpoint.

Spanish: 
Esto se llama depuración.
Vamos a usar herramientas de
la barra de herramientas VBA
para depurar nuestro macro.
Algunas herramientas
que me gusta usar para depurar
no están en la barra de
herramientas en este momento.
Pueden personalizar la barra
de herramientas muy fácilmente.
Si dan clic derecho
sobre algún espacio vacío
en el lado derecho,
pueden bajar adonde dice Personalizar.
Luego, pueden escoger ir al lado izquierdo
y ver un montón de cosas
que están en cada una
de las categorías aquí.
Voy a buscar la categoría Depurar,
y voy a tomar un par
de herramientas de aquí
que me gusta usar todo el tiempo.
Voy a buscar la herramienta
que dice Ingresar
y voy a dar clic y arrastrar Ingresar
y la voy a colocar aquí arriba.
También voy a tomar Compilar Proyecto,
eso me va a ayudar también.
Hay un par de herramientas
más aquí que son buenas.
A muchas personas les gustaría usar
Alternar punto de interrupción.

English: 
You could grab that as well.
That basically allows you to
just run a piece of your code
instead of the whole macro itself.
And there's some other ones
in here that are helpful.
I'm just going to grab those two, three.
So we want Step Into, Compile Project,
and Toggle Breakpoint.
And once you've done that,
go ahead and click on Close
and you should have those tools
up in your toolbar in VBA.
Go ahead and pause the video
and make sure that you do have those.
Okay, so here we have
an example of a macro
that is about to go awry.
On the tab called End Product in Excel,
we'll see what this is
actually supposed to look like
when this macro runs appropriately.
However, as we're about
to see in just a second,
this macro is not going
to run appropriately
and we're going to need to follow the code
and see where it starts
to run into problems.
You'll notice that I have extra tabs
down here at the bottom.
I have this one that says End Product
but I also have these
ones that say Backup,

Spanish: 
Podrían tomarla también.
Esta básicamente permite
ejecutar un trozo de su código
en vez del macro completo.
Hay otras aquí que son útiles.
Solo voy a tomar esas dos, tres.
Así que queremos Ingresar,
Compilar Proyecto
y Alternar Punto de Interrupción.
Una vez que hayan hecho eso,
den clic en Cerrar y deberían aparecer
esas herramientas en su
barra de herramientas VBA.
Pausen el video
y asegúrense que las tienen.
Aquí tenemos un ejemplo de un macro
que está a punto de salir mal.
En la pestaña llamada
Producto Final en Excel
veremos cómo se supone que debe verse
cuando este macro se
ejecuta de forma apropiada.
No obstante, como veremos en un segundo,
este macro no va a
ejecutarse de forma apropiada
y vamos a tener que seguir el código
y ver dónde empieza a tener problemas.
Notarán que tengo pestañas extra
aquí en la parte de abajo.
Tengo esta que dice Producto Final,
pero también tengo estas
que dicen Respaldo,

English: 
Backup of the Backup
and then I have the
original data over here.
A couple of things to be aware of
when we are creating and running macros
for the very first time
or when we are debugging them,
things to be aware of are that
macros are
very hard to undo.
In fact, the program Excel itself
will not undo any action
that is executed by a macro
meaning anything that you,
that a macro does to your
spreadsheet, you can't undo it.
So that's one problem.
Now, a lot of coders like to
input little pieces of code
that actually allow them
to reverse those actions,
but that only works on
a really simple scale.
And so it becomes helpful for us,
when we are starting
to create these macros
to always create not just a backup,
but a backup of the backup.
We never want to run our
macro on the original data,
unless we are completely confident
that it's going to work very well.
So here I go,
I'm going to go to the
backup of backup sheet
and I'm going to run this macro.
Now, remember it's supposed to look like

Spanish: 
Respaldo del respaldo,
y tengo los datos originales aquí.
Un par de cosas que
debemos tener en cuenta
cuando estamos creando y ejecutando macros
por primera vez
o cuando los estamos depurando,
cosas a tener en cuenta es que
los macros son
muy difíciles de deshacer.
De hecho, el mismo programa Excel
no deshace ninguna acción
ejecutada por un macro,
lo que significa que
cualquier cosa que ustedes,
que un macro hace a su
hoja, no lo pueden deshacer.
Ese es un problema.
A muchos codificadores les gusta ingresar
pequeños trozos de código
que les permitan revertir esas acciones,
pero eso solo funciona
a una escala muy simple.
Así que resulta útil para nosotros
cuando empezamos a crear estos macros,
siempre crear no solo un respaldo,
sino un respaldo de un respaldo.
No queremos ejecutar nuestro
macro en los datos originales,
a menos que estemos completamente seguros
de que van a funcionar muy bien.
Así que aquí vamos,
voy a ir al respaldo
de la hoja de respaldo
y voy a ejecutar este macro.
Recuerden que se supone
que debe verse como

English: 
the sheet that says End Product here.
On my backup of a backup,
this is just a data dump.
And I need to create this
report on a regular basis,
maybe five times a day
or something like that.
I've created a macro,
that's supposed to do it.
So I'm going to go to my macros button
and I'm going to find the
macro called CreateReport
and I'm going to click on Run.
Now, obviously that doesn't look
exactly like I probably
wanted it to look, right?
I'm just going to go to Back Up
and make an extra copy of this,
where I'm going to continue to test this.
So I'm going to the Backup Sheet
and I'm choosing Move or Copy.
I'm going to select Create a Copy
and I'll put it ready for the one called
Backup of Backup and click Okay.
And now I have backup two and here we go.
Now I'm actually going to see
where the macro starts to go wrong.
If I want to get this macro
to execute line by line,
then I'll actually be
able to watch and see
where I start to run into problems.
So I'm going to go ahead and do that.
The tool that's going to allow
me to do that is this button
that we just grabbed
and put in our tool bar,
which is called Step Into.

Spanish: 
la hoja que dice Producto Final aquí.
En mi respaldo del respaldo,
este es solo un basurero de datos.
Y debo crear este informe regularmente,
quizás cinco veces al día o algo así.
Creé un macro, se supone
que eso debe funcionar.
ASí que voy a mi botón de macros
y busco el macro llamado CrearInforme
y doy clic en Ejecutar.
Obviamente, eso no se ve
exactamente como quiero
que se vea, ¿cierto?
Simplemente, voy a respaldar
y hacer una copia extra de esto,
en la cual voy a seguir probando esto.
Así que voy a la hoja de respaldo
y escojo Mover o Copiar.
Voy a seleccionar Crear una Copia
y la dejaré lista para la que se llama
Respaldo del Respaldo
y doy clic en Aceptar.
Ahora tengo un Respaldo 2 y aquí vamos.
Ahora voy a ver
dónde el macro empieza a salir mal.
Si quiero que este macro
se ejecute línea por línea,
entonces podré ver
dónde empiezo a encontrar problemas.
Así que voy a hacer eso.
La herramienta que me va a
permitir eso es este botón
que acabamos de poner en
nuestra barra de herramientas
que se llama Ingresar.

English: 
Now, you can use the keyboard shortcut,
which is F8 to Step Into your macro.
I'm going to use the button here
because that allows you to
see it easily on my screen.
However, I highly encourage you
to try and use the shortcut keys.
All right, so I'm going to
step into my macro here.
And once I do that,
you'll see that this line
of code gets highlighted.
And now that line of code was run.
And now it's highlighting
the next line of code.
Notice that this says,
the last one that we were on says,
oh, Sub CreateReport.
So that's just the name of my macro.
This next line says
Insert Rows and Columns.
And you'll notice down here
that I have the ability
to create this macro
called InsertRowsAndColumns.
And I'm actually using it
in this other macro up here.
So the process that's being
controlled by that macro
is actually written in
the code that's down here,
more of it we can't see that's down there,
but I'm running it up
in this macro up here.
We'll talk about this later,

Spanish: 
Ustedes pueden usar la tecla de atajo,
que es F8 para Ingresar su macro.
Voy a usar el botón
porque eso les permite verlo
fácilmente en mi pantalla.
No obstante, les recomiendo que
intenten usar las teclas de atajo.
Voy a ingresar a mi macro.
Una vez que haga eso,
verán que esta línea de código se resalta.
Y ahora esa línea de código se ejecuta.
Y ahora está resaltando la
siguiente línea de código.
Noten que esto dice,
la última en la que estábamos dice,
Sub CrearInforme.
Ese es simplemente el nombre de mi macro.
Esta siguiente línea dice
Inserta Filas y Columnas.
Notarán aquí abajo
que tengo la habilidad de crear este macro
llamado InsertarFilasYColumnas.
Y de hecho lo estoy
usando en este otro macro.
El proceso controlado por ese macro
está escrito en el código
que está aquí abajo,
no podemos ver más de
él que está más abajo,
pero lo estoy ejecutando en
este macro de aquí arriba.
Hablaremos de esto más tarde,

English: 
but this is called calling a macro,
which means that you're
just executing the code
in that macro.
Okay, so I'm going to continue
to click on Step Into,
and you'll see that it
hops down to that macro
so we can actually run the
code that's in that one.
And then in a few minutes,
it'll hop back up and run the
code that's in the next macro.
All right, so here we go.
Here's our macro called
Insert Rows and Columns,
and I'm going to Step Into,
and it's going to select
rows two through four.
And once I click on Step Into,
it's actually going to do that.
And you'll see in Excel,
it's selecting rows two through four.
Now the next line of code here says,
oh, Selection.Insert.
So it's going to be
inserting some rows here
and watch what happens when I do that.
Okay.
So the user probably meant to
insert rows above all the data here,
but that's not what they did.
They inserted rows above.
Row two has now been
moved down to row five
and we have a few extra rows,

Spanish: 
pero esto se llama Llamar a un Macro,
que significa que están
ejecutando el código
en ese macro.
Voy a continuar y dar clic en Ingresar
y verán que salta a ese macro
así que podemos ejecutar
el código que está en él.
En unos minutos,
saltaré de vuelta y ejecutaré
el código del siguiente macro.
Aquí vamos.
Aquí está nuestro macro
llamado InsertarFilasYColumnas,
y voy a Ingresar,
y va a seleccionar de las filas 2 a la 4.
Una vez que doy clic en Ingresar,
va a hacer eso.
Verán que en Excel
se están seleccionando
las filas 2 a las 4.
La siguiente línea de código dice,
Selection.Insert.
Así que va a insertar unas filas aquí
y vean qué sucede cuando hago eso.
Bien.
El usuario probablemente quiso
insertar filas encima
de todos los datos aquí,
pero eso no fue lo que hizo.
Insertó filas arriba.
La fila 2 ahora se movió a la fila 5
y tenemos una filas extra,

Spanish: 
pero probablemente se suponía
que lo que estaba en la fila 1
se trasladara ahí abajo también.
Esa será una cosa
que necesitaremos arreglar.
Vamos a tener que cambiar
esa fila 2 a la fila 1.
Bien.
Ahora, mi macro seleccionará la columna A,
dice Seleccionar Columna A, aquí vamos.
Voy a ejecutar eso,
dar clic en Ingresar.
Ahí va,
selecciona la columna A
y luego va a tomar la selección
e insertar algo a la derecha.
Voy a ver cómo se ve.
Eso insertó otra columna a la izquierda.
Se ve bastante bien para mí.
Ahora estamos en la última línea
que dice End Sub.
Una vez que ejecute ese
código que dice End Sub
me va a hacer saltar de regreso,
porque recuerden que estamos
ejecutando este macro grande
y solo estamos llamando a
estos macros más pequeños.
Parece que el siguiente
macro que se va a ejecutar
es el que se llama InsertarTexto.
Voy a Ingresar este proceso.
Este dice, aquí está mi
subproceso InsertarTexto.

English: 
but we probably meant
for what was in row one
to go down there as well.
So that's going to be one thing
that we're going to need to fix.
We're going to need to change
that row two to row one.
All right.
Now my macro is going to select column A,
it says Column A Select, okay here we go.
I'm going to run that,
clicking on Step Into.
There it goes,
it selects Column A
and then it's going to take the selection
and insert something to the right.
And I'm just going to
see what that looks like.
Okay, that inserted
another column to the left.
That looks pretty good to me.
All right, and now we're on the last line
that says End Sub.
Once I actually run that
code that says End Sub
it's going to hop me back up,
because remember we are running
this larger macro up here
and we are just calling to
these smaller macros in order.
So it looks like the next
macro that's going to run
is this one called InsertText.
Okay, I'm going to Step Into this process.
And this one says, here's
my sub procedure InsertText.

Spanish: 
Luego vamos a bajar
a la siguiente línea de código
y esa es el rango Seleccionar A1.
Seleccionó el rango A10.
Luego, la siguiente línea de código dice,
ActiveCell, poner las palabras
"Nuestra compañía global"
y hablaremos de lo que
significan esos códigos,
pero vean esto.
Supongo que el usuario final
no quiso poner en
realidad "Nuestra global",
estas palabras "Nuestra
compañía gobal" en la celda A10.
Lo que quería era poner eso
como título en la celda A1.
Así que voy a corregir eso.
Listo.
Voy a continuar
avanzando por mi macro.
El rango A2 se seleccionará a continuación
y vamos a poner las palabras
"Precios de Acciones".
Luego, en la celda B4
vamos a poner "Símbolo"
y "Abrir" y "Alto",
"Bajo", "Cerrar",
todo estos geniales encabezados

English: 
Okay, and then we're going to hop down
to the next line of code
and that is range A1 Select, okay.
And it selected range A10.
And then the next line of code says
active cell put in the
words, "Our Global Company,"
and we'll talk about what
all this coding stuff means,
but just go ahead and watch this.
So my guess is that the end user
didn't actually mean to put
this word in our global,
these words, "Our Global
Company" in cell A10.
All that they meant to put
that up as a title in cell A1.
So I'm going to go ahead and correct that.
There we go.
All right, and I'm going to continue
stepping through my macro here.
So range A2 is going to get selected next,
and then we're going to put
in the word, "Stock Prices."
And then in cell B4,
we're going to put in "Symbol"
and "Open" and "High",
"Low", "Close",
all of these neat little headers here

Spanish: 
se están insertando automáticamente.
Eso está genial.
No hay problemas ahí.
Voy a dar clic en Ingresar,
y ahora está ejecutando el tercer macro
en mi macro grande, original
en la parte de arriba.
Va a ejecutar este tercer
macro llamado FormatearTexto.
Ingresemos ese, aquí vamos.
Estamos avanzando por FormatearTexto,
y estoy viendo mi hoja de Excel y dice
Seleccionar columnas C a G.
Y va a formatear todos
esos valores numéricos
como monedas.
Eso se ve bien para mí.
Ahora va a seleccionar
las columnas H a la J
y formatearlas como porcentajes.
Eso está bien.
Luego va a seleccionar la celda A1
y cambiar la forma cómo
esa celda A1 se ve.
Claro que no tengo nada en la celda A1
porque cometí un error.
Accidentalmente, puse ese
texto en la celda A10,
pero cuando ejecute esto
de nuevo la próxima vez
ya habré hecho esas correcciones.
Así que debería arreglarse.
Luego, va a cambiar el aspecto
de la celda A2
y seguiré avanzando por mi macro,

English: 
are automatically being inserted.
So that's great.
No problems there.
I'm going to click on Step Into,
and now it's running the third macro
in my original, large macro at the top.
It's going to run this third
macro called FormatText.
Okay, let's Step Into
that one, so here we go.
We're walking through FormatText,
and I'm looking at my
Excel sheet and it says
columns C through G select.
And it's going to format all
of those numerical values
as currency figures.
Okay, that looks good to me.
All right, now it's going to select
columns H through J
and format these all as percent.
That's good.
And then it's going to select cell A1
and change the way that cell A1 looks.
Course I don't have anything in cell A1
because I made a mistake, right.
I accidentally put that text in cell A10,
but when I run this again next time
I've already made those corrections.
So that should get fixed.
And then it's going to
change the look and feel
of cell A2 there,
and I'll continue
running through my macro,

Spanish: 
lo cual también cambia el
aspecto de mis encabezados.
Mi macro va a seleccionar
todas estas columnas
y ajustarlas automáticamente.
Y eso está muy bien.
Muchas gracias.
End Sub y terminé.
Bueno.
Así que vi observé esos
errores a medida que ocurrían
y los corregí.
Así que ahora debería poder
ir a la hoja llamada Respaldo,
y hacer otra copia,
y luego busco este
elemento llamado Respaldo 3
y ejecuto mi macro sobre él.
Y deberíamos haberlo
depurado por completo.
Se ve como se supone que se debería ver.
Si no lo hicieron conmigo,
tómense un momento para pausar el video,
avanzar por este macro con
la herramienta Ingresar,
y asegúrense de que todos los
errores se hayan arreglado.
No olviden seguir respaldando su archivo
cada vez antes de probarlo.
Cuando hayan hecho eso,
regresen y continuaremos.

English: 
which changes the look
of my headers as well.
And then my macro is going
to select all these columns
and auto-fit them.
And that's very nice.
Thank you very much.
End Sub and there I'm through it.
Okay.
So I watched all these
mistakes as they were happening
and I corrected them.
So I should be able to now
go to the sheet called Backup,
make another copy,
and then find this item called Backup 3
and let's go ahead and
run our macro on it.
And we should have
debugged that whole thing.
And there it goes just the
way it's supposed to look.
If you haven't done so with me,
go ahead and take the
moment to pause the video,
walk through this macro
with the Step Into tool
and make sure that all of the
bugs are fixed in your macro.
Don't forget to continue
to back up your file
every single time before you test it.
And when you've done that,
go ahead and come back and we'll move on.

Spanish: 
En las siguientes secciones,
hablaremos sobre un archivo
en particular llamado
Crear Macros Desde Cero.
Vamos a usar este archivo en particular
para crear un macro desde cero.
Así que asegúrense de
tener abierto este archivo.
Pueden pausar el video
ahora mismo para hacer eso.
Abran este archivo
y luego abran VBA
y asegúrense de que pueden
ver este trozo de código
en el lado derecho
que estará en Modulo1.
Hagan eso ahora.
El primer macro que van a usar
no estará hecho desde cero
porque ya está ahí adentro.
Tenemos un macro en el lado derecho.
Ahora vamos a ejecutar
esto y ver qué hace.
Observen el documento
Excel en el lado izquierdo.
Vamos a
ejecutar este macro y ver qué hace.
Este macro parece que coloca
una fila extra arriba.
Coloca unos encabezados.
Tenemos ID Empleado,
Apellido, Primer Nombre.
Esos son nuestros encabezados.
Y también los pone en negrita.
Bien.

English: 
For the next couple of sections,
we're going to be talking
about a file called
Creating Macros From Scratch.
We're going to be using
this particular file
to create a macro from scratch.
So make sure that you have this file open.
You can pause the video
right now to do that.
Open up this file,
and then also open up VBA
and make sure that you
can see this bit of coding
on the right-hand side
that will be located in Module1,
Go ahead and do that now.
Now the very first
macro we're going to use
isn't going to be made from scratch
because it's already in here.
We do have a macro on
the right-hand side here.
Now we are going to run this
and just see what it does.
So keep an eye on the Excel
document on the left-hand side.
And we're going to go ahead
and run this macro and see what it does.
So this macro looks like it
puts in an extra row at the top.
It puts in some headers here.
We have employee ID,
last name, first name.
Those are our headers.
And then it also turns them bold.
Okay.

English: 
So we're going to be looking at the code
on the right-hand side
and starting to read it as though
these were normal sentences.
The very first line here says Rows.
It starts with the word Rows.
Following that we have the exact row
we want to be talking
about in parentheses.
Now this is also surrounded by quotations.
You're going to see this a whole lot.
So this is the syntax of this
particular object statement.
Rows are an object.
And like we were saying
at the beginning of class,
every object oriented programming
operates in a very similar manner.
So objects are always stated first.
And then after we state the
object, in this case Rows,
then we can say what
we want to do with it,
or what color we want it to
be or what we want it to do.
Something like that.
But we always must state the object first.
So here we have this statement
that says Rows, specifically, row one.
And then we're saying, we want to Insert.

Spanish: 
Vamos a ver el código
en el lado derecho
y empezar a leerlo como si
fueran oraciones normales.
La primera línea dice Filas.
Empieza con la palabra Filas.
Seguidamente, tenemos la fila exacta
de la que queremos
hablar entre paréntesis.
Esto también está rodeado de comillas.
Van a ver esto mucho.
Esta es la sintaxis de esta
instrucción para objetos en particular
Las filas son un objeto.
Y como decíamos al inicio de la clase,
cada programa orientado a un objeto
opera de forma muy similar.
Los objetos siempre se enuncian primero.
Después de enunciar el objeto,
en este caso las filas,
podemos decir qué queremos hacer con él
o de qué color queremos que
sea o qué queremos que haga.
Algo así.
Pero siempre debemos
enunciar el objeto primero.
Entonces, aquí tenemos esta instrucción
que dice Filas, específicamente, fila 1.
Luego decimos que queremos Insertar.

Spanish: 
Esta pequeña instrucción de Insertar
es un tipo diferente de terminología.
Tenemos nuestros objetos,
esos son nuestras filas,
ese es nuestro objeto.
Luego, tenemos esta cosa llamada Insertar.
Insertar es lo que llamamos un método
y veamos algo de gramática VBA.
Empecemos hablando de objetos.
Hay muchos tipos diferentes de objetos
que pueden usar en sus instrucciones.
Estos son solo algunos comunes.
Las hojas son objetos, las
tablas, gráficos, celdas,
columnas y filas son todos objetos.
Y pueden usarlos para empezar
sus instrucciones en VBA.
Después de estos objetos,
debemos poder decir qué
queremos hacer con ellos
o qué queremos
o tener alguna forma de
describirlos, ¿cierto?
Quizás queremos que sean
amarillos o algo así.
Las propiedades son la
forma como describimos
ciertos objetos.
Si tenemos una celda, la celda A1,
quizás quieren que sea
de un color específico.
Quizás quieren que un dólar aparezca
en un formato específico

English: 
So this little statement of Insert,
this is a different kind of terminology.
So we have our objects,
that's our Rows,
that's our object.
And then we have this thing called Insert.
Insert is what's called a method
and let's take a look at some VBA grammar.
Now let's start by talking about objects.
There are many different kinds of objects
that you can use to start your statements.
These are just some common ones.
Sheets are objects, tables, charts, cells,
columns and rows are all objects.
And you can use them to
start your statements in VBA.
Following these objects,
then we need to be able to say
what we want to do with them
or what we want,
or have some way to describe them, right?
Maybe we want it to be yellow
or something like that.
Properties are the way that
we describe certain objects.
So if we have a cell, that's cell A1,
maybe you want it to be a specific color.
Maybe you want a dollar to
show up as a specific format,

English: 
or maybe you want your text
to show up with a particular look.
These are descriptions about the way
that any object is going to look
or basically just descriptions about them.
You can think of these as adjectives.
And then the third kind of terminology
we'll talk about is methods.
Methods do something.
You can think of these like verbs.
So here in the macro coding
that we have over here,
we can see that each one of our lines
is starting with an object, of course.
And then following Rows,
I'm saying I want to insert extra rows.
Inserting, that's an action.
So insert is a method.
Following that line will say that
the next thing we want
to do is select range A1,
which means select cell A1,
or rather refer to cell A1.
And then after that, we're saying
we want the value of cell A1

Spanish: 
o quizás quieren que su texto
aparezca con un aspecto en particular.
Estas son descripciones sobre la forma
en que cualquier objeto se va a ver
o básicamente solo descripciones de ellos.
Pueden pensar en ellas como adjetivos.
El tercer tipo de terminología
de la que hablaremos son los métodos.
Los métodos hacen algo.
Pueden pensar en ellos como verbos.
En la codificación de
macros que tenemos aquí
podemos ver que cada
una de nuestras líneas
empieza con un objeto, por supuesto.
Luego, después de las filas,
digo lo que quiero para
insertar filas extra.
Insertar, esa es una acción.
Así que insertar es un método.
Después de esa línea decimos que
lo siguiente que queremos
es seleccionar el rango A1,
que significa seleccionar la celda A1
o referirse a la celda A1.
Después de eso, decimos
que queremos que el valor de la celda A1

Spanish: 
sean las palabras "ID
Empleado" o "ID Emp".
Y luego hacemos lo mismo
para las celdas B1 y C1.
Luego, al final de
nuestro código de macro,
seleccionamos algunas filas.
Entonces estamos diciendo
que las filas A1,
específicamente en esa fila
quiero cambiar la fuente.
Quiero que la fuente esté en negrita.
La forma como hacemos eso es
decir Negrita = Verdadero.
La razón es que la negrita
puede ser o no ser,
pero no hay más opciones
que si la negrita es o no es
o de qué forma puede ser la negrita.
Puede ser negrita o no ser negrita.
Por esa razón,
esa es una explicación
lógica
que tenemos en término
de verdadero o falso.
Así que decimos Negrita = Verdadero.
Si quisiéramos desactivar la negrita,
diríamos Negrita = Falso.
Luego, en la última línea
tomo todo mi contenido
o desmarco todo mi contenido
seleccionando el rango A1.

English: 
to be the words,
"Employee ID" or "Emp ID".
And then we do the same
thing for cells B1 and C1.
And then at the bottom of our macro code,
here we are then selecting some rows.
So we're saying Rows A1
and then specifically that
row, I want to alter the font.
I want to make the font bold.
And the way that we do
this is we say Bold = True.
And the reason is that bold
can either be or not be,
but there aren't any more options
for whether bold is or is not
or ways that bold can be.
It can either be bold or not bold.
And so for that reason,
that is a logical
explanation there
that we have in the
terms of true or false.
So we do say Bold = True.
If I wanted to turn off bold,
I would just say Bold = False.
And then at the very last line here,
I am just grabbing all my content
or rather deselecting all of my content
by selecting on range A1.

Spanish: 
Construyan esto ustedes.
Continuemos a la hoja llamada HacerMacro.
Todavía estamos en el archivo llamado
Crear Macros Desde Cero.
Estoy en la hoja llamada HacerMacros.
Aquí es donde en realidad podré
crear mi macro desde cero.
Recuerden qué debe lograr
mi macro aquí.
Debemos insertar una fila
en la parte superior de nuestros datos,
y luego vamos a insertar encabezados
en esa fila superior en cada columna.
Lo tercero que vamos a hacer
es volver Fila Negrita.
Lo cuarto que vamos a hacer es desmarcar.
Vayamos a VBA y vamos a crear
un nuevo módulo.
En vez de usar Modulo1,
quiero que insertemos un nuevo módulo.
Usen el menú desplegable
Insertar y escojan Módulo.
Eso inserta un nuevo módulo.
Lo otro que necesitamos hacer
es insertar un nuevo Procedimiento.

English: 
Let's go ahead and build this ourselves.
All right, let's move on to
the sheet called, MakeMacro.
And we are still in the file called
Creating Macros From Scratch.
And I'm on the sheet called MakeMacro.
This is where I'm
actually going to be able
to create my macro from scratch.
Now let's just remember what my macro
needs to accomplish here.
We need to insert a row
at the top of all of our data,
and then we're going to insert headers
in that top row for each column.
The third thing we're going
to do is turn Row on Bold.
And the fourth thing we're
going to do is de-select.
So let's go into VBA and
we're going to create
a whole new module for ourselves.
So instead of using Module1,
I want us to actually insert a new module.
So use your Insert dropdown
menu and choose Module.
And that inserts a new module for us.
Now, the other thing that we need to do
is insert a new Procedure.

English: 
So I'm going to Insert again
and choosing Procedure.
And now I have to figure out
what kind of a procedure I want to make.
Now, procedures are a way of saying like,
this is a large macro,
so you can put a bunch of
different macros in a procedure,
but they're basically
the same kind of thing.
They just run a bunch of code.
I'm going to name my macro
here, or my procedure here.
And I'm going to name this
FormatDataTest.
There are a few different
kinds of procedures
that you could choose.
You could choose a sub procedure.
This is just a regular macro.
So sub procedures are
just like many procedures.
You can think of them
as like regular macros.
Maybe you'd have a big macro
what'd you think of as a procedure, right?
Okay.
The other kind of
procedure that you can have
is a function procedure.
At the near the end of this course,
we're going to be talking about how to
design your own functions.
So if there's not a function,

Spanish: 
Voy a Insertar otra vez
y escojo Procedimiento.
Ahora debo decidir
qué tipo de procedimiento quiero hacer.
Los procedimientos son formas de decir
este es un macro grande,
así que pueden poner un
montón de macros diferentes
en un procedimiento,
pero son básicamente
el mismo tipo de cosa.
Solo ejecutan una gran cantidad de código.
Voy a llamar este macro o
este procedimiento de aquí,
voy a llamarlo
ProbarFormatoDatos.
Hay varios tipos diferentes
de procedimientos
que pueden escoger.
Pueden escoger un subprocedimiento.
Es solo un macro regular.
Los subprocedimientos son iguales
que muchos procedimientos.
Piensen en ellos como macros regulares.
Quizás tienen un macro grande,
pensarían en él como un
procedimiento, ¿cierto?
Bueno.
El otro tipo de procedimiento que hay
es un procedimiento de función.
Cerca del final de este curso,
vamos a hablar de cómo
diseñar sus propias funciones.
Si no hay una función,

Spanish: 
una función que les gustaría en Excel.
Quizás hay una función en Excel
que quisieran que estuviera.
Quizás quieren lograr algún tipo de tarea
y no hay una función para ella en Excel.
Así que deben construirla
usando una fórmula todo el tiempo.
En este caso,
lo que pueden hacer es
construirla como un macro
y luego se convierte en una
función utilizable en Excel.
Eso es bastante genial.
No obstante, vamos a
aprender lo básico por ahora.
Vamos a escoger el subprocedimiento
y luego esto no lo vamos a usar mucho,
pero solo a modo de explicación,
tenemos las opciones
entre público y privado.
Vamos a usar público
durante la mayor parte de esta clase
porque los macros públicos
son macros que pueden ser
usados en otras áreas.
Hay macros que incluso pueden
ser usados por otros macros.
Nuestro ejemplo anterior, donde
estábamos formateando texto,
probablemente notaron que ese macro
llamó otros dos macros,
lo cual es algo de lo
que hablaremos más tarde.
Necesitaremos que esos
macros sean públicos
para poder hacer eso.
Así que llamé mi macro ProbarFormatoDatos

English: 
you already not a function
that you would like in Excel.
Maybe there's a function in Excel
that you would like to be there.
Maybe you need to accomplish
some kind of a task
and there isn't a function
already for it in Excel.
And so you're having to build it
using a formula all the time.
In this case,
what you can do is actually
build it as a macro
and then it becomes a
usable function in Excel.
So that's pretty cool.
However, we're going to
stick to the basics for now.
We're choosing the sub procedure,
and then we're not going to
be using this a whole lot,
but just as an explanation,
we have the options
between public or private.
We're going to be using public
for the majority of this class
because public macros
are macros that can be
used in other areas.
There are macros that can be
used by other macros even.
Our previous example, where
we were formatting text,
you probably noticed that that macro
called two other macros,
which is something we're going
to be talking about later.
We will need those macros to be public
in order to be able to do that.
So I've named my macro FormatDataTest

Spanish: 
y doy clic en Aceptar.
Ahora tengo mis reposalibros aquí.
Mi primer reposalibros dice Sub Público,
subprocedimiento público.
Luego, mi reposalibros final dice End Sub
y voy a necesitar estos resposalibros
para rodear cualquier grupo de código,
básicamente sostiene todo junto.
Voy a darme
un poco de espacio aquí.
Voy a colocar algunos Intros aquí,
pulso Intro algunas veces,
y esto me dará espacio
para diseñar mi código aquí.
Simplemente voy a seguir
estos paso que alineamos aquí.
El primer paso que voy a
hacer es insertar una fila.
Por supuesto, siempre debo
nombrar mi objeto primero.
Así que digo Filas.
Ese es mi primer objeto aquí.
Voy a explicar cuáles
filas quiero seleccionar.
Quiero la Fila 1
y quiero la Fila 1 completa.
Así es como describimos eso a VBA

English: 
and I'm clicking Okay.
Now I have my bookends here.
My first bookend says Public
Sub, public sub procedure.
And then my ending bookend says End Sub,
and I'm going to need these bookends
to surround any group of code,
basically holds everything together.
All right, I am going to give myself
a little bit of space here.
So I'm putting a few hard Enters in there,
hitting Enter a few times,
and this is going to give me space
to actually design my code here.
All right, so I'm just going to follow
these steps that we lined out here.
The very first step that I'm
going to do is insert a row.
And of course, I always have
to name my object first.
So I'm saying Rows.
That's my very first object here.
And I'm going to explain
which rows I want to select.
I want Rows 1
and I want the entirety of Row 1.
And that's how we describe that to VBA

Spanish: 
con estos dos puntos entre 1,
1:1.
Y los rodeamos de comillas.
Y rodeamos las comillas
con este paréntesis.
Después de mi objeto aquí,
siempre voy a poner un punto
que permite que VBA sepa
cuáles son las diferencias
entre mis objetos y mis métodos
y mis propiedades y todas esas cosas.
ASí que coloco un punto aquí
y luego coloco
el nombre del método que
quiero que ocurra en esta fila.
Quiero tomar esta fila
y luego quiero insertar otra fila.
Ahora que ya inserté una
fila en la parte superior,
lo siguiente que voy a hacer
es poner unos encabezados ahí.
Así que voy a seleccionar el rango A1.
Ahí es donde estará mi primer encabezado.
El valor del rango A1 debería ser
el nombre del título y
el encabezado, empleado,
"ID Emp".
Bien.
Mi siguiente encabezado
irá en el rango B1.

English: 
with this colon in between 1,
1:1.
And we surround both of those
with the quotation marks.
And we surround the quotation
marks with this parenthesis.
Following my object here,
I'm always going to put a period
that lets VBA know what the differences
between my objects and my methods
and my properties and all that stuff.
So I'm putting my period in here
and then I am putting in
the name of the method that I
want to happen with this row.
So I want to grab this row
and then I want to insert another row.
All right, now that I've
inserted a row at the top,
the next thing I'm going to want to do
is put in some headers here.
So I'm going to select range A1.
That's where my first
header is going to go.
And the value of range A1 should be
the title and the header name, employee,
"Emp ID".
Okay.
And my next header is
going to go on range b1.

English: 
You don't have to worry about
being case sensitive here,
and that's going to be "Last Name"
and then C1
is their "First Name".
Now, once we put in those headers there,
I do want to take all those headers
that I've made in row
1 and turn it all bold.
So I'm going to tell VBA,
please grab row or rows,
specifically,
Row 1.
And the fonts in there,
I want you to turn it bold.
And the way that I express
that of course is with TRUE.
I'm in the habit of typing
in TRUE with all caps,
but of course you don't have to.
And in fact, when I hit Enter here,
see how it makes that a
proper capitalization.

Spanish: 
No deben preocuparse sobre la
relevancia de las mayúsculas,
y será "Apellido"
y luego C1
es el "Primer Nombre".
Una vez que ponemos esos encabezados ahí,
voy a tomar todos esos encabezados
que hice en la fila 1
y ponerlos en negrita.
Así que voy a decirle a VBA,
por favor toma la fila o filas,
específicamente,
la fila 1.
Las fuentes de ahí,
quiero que las pongas en negrita.
La forma como quiero expresar
eso es con VERDADERO.
Tengo el hábito de escribir
VERDADERO en mayúsculas,
pero ustedes no tienen que hacerlo.
De hecho, cuando pulso Intro,
vean cómo lo convierte a un
uso apropiado de mayúsculas.

English: 
All right, and what I'm all done,
this is just for good measure.
It's absolutely not necessary.
All I'm going to do is
just de-select here.
Meaning I already had
the row selected, right?
That was going to turn it bold.
And so it's still going to be selected
unless I de-select on range A1
and I'll just put in range A1
Select,
that'll just select that
one cell on the top left.
Go ahead and pause the video.
And when you're done writing
out all of your script here,
come on back and we'll run the code.
You may notice at times
that a little window pops
up as you're typing in
certain objects or methods or properties.
This is called the IntelliSense window.
It's not a term that you have to remember,
but it is very important
to know that it exists
because it's pretty handy.
See here, I do have
the IntelliSense window
suggesting that maybe I'm
looking for the term Select
and I get this little icon
on the left-hand side,
that's the icon for methods.

Spanish: 
Y cuando termino,
esto es solo para medir bien,
no es absolutamente necesario,
todo lo que voy a hacer es desmarcar aquí.
Eso significa que la fila ya
estaba seleccionada, ¿cierto?
Eso la iba a poner en negrita.
Así que todavía va a ser seleccionada
a menos que yo la desmarque en el rango A1
y voy a poner el rango A1,
seleccionar,
eso solo seleccionará la
celda superior izquierda.
Pausen el video.
Cuando terminen de
escribir todo su script,
regresen y vamos a ejecutar el código.
A veces notarán
que aparece una pequeña
ventana mientras escriben
ciertos objetos o métodos o propiedades.
Eso se llama ventana IntelliSense.
No es un término que deben recordar,
pero es muy importante saber que existe
porque es muy útil.
Aquí tengo
la ventana IntelliSense
que sugiere que quizás estoy
buscando el término Seleccionar
y aparece este pequeño
ícono del lado izquierdo,
ese es el ícono para los métodos.

Spanish: 
Y podría dar doble clic sobre él.
Eso insertaría el resto de eso
si todavía no hubiera
terminado de llenarlo.
Aquí vamos.
Probemos esto.
Voy a colocar mi cursos en
la parte superior de mi macro
y dar clic al botón de reproducción.
El macro que quiero ejecutar
se llama PruebaFormatoDatos.
Ese es el que acabamos de hacer
y voy a dar clic en Ejecutar y ahí va.
Pruébenlo.
Pueden probarlo en diferentes hojas,
si quieren.
Una vez que lo hayan probado
y practicado, si quieren,
regresen
y luego haremos macros más interesantes.
Para el resto del curso,
vamos a crear algunos scripts propios
o muchos scripts propios.
Para poder referirnos a cualquier celda,
vamos a necesitar conocer,
o estar un poco familiarizados con el
objeto de selección del
rango o el objeto Rango.
Hay muchas formas diferentes

English: 
And I could double click on that.
And that would insert the rest of that
if I hadn't finished
filling it out already.
Okay, so here we go.
Let's go ahead and test this out.
I am going to place my
cursor at the top of my macro
and click on my play button.
And the macro I'm looking to
run is called FormatDataTest.
That's the one we just made
and I'm going to click
on Run and there it goes.
Go ahead and test that out.
You can test it out on
multiple different sheets here,
if you would like.
And once you've tested that out
and practiced, if you would like,
come on back
and then we'll be making
some more interesting macros.
For the rest of this course,
we're going to be creating
some of our own scripting
or a lot of our own scripting.
In order to be able to
refer to any given cell
we're going to want to know,
or be a little bit familiar with the
range selection object, or
rather the range object.
Now, there are many different ways

Spanish: 
de expresar objetos de rango,
pero lo básico es decir,
voy a seleccionar un rango.
El rango es,
digamos que C3.
Seleccioné esta celda dentro de
este libro completamente en blanco
usando ese objeto de rango en particular.
Les mostraré eso en un momento.
Escribí en esa celda
"Seleccionar esta celda".
Digamos que mi cursor está aquí abajo,
en algún otro lugar de la interfaz.
Y quiero poder seleccionar
esa celda en particular.
Puedo simplemente escribir rango.
Ese es mi objeto.
Ahora necesitaré especificar
exactamente cuál rango quiero seleccionar,
lo cual hago usando el
paréntesis de sintaxis, comillas,
luego la celda que quiero seleccionar
o las celdas que quiero seleccionar.
Luego cierro con las comillas
y un paréntesis final.
Si quiero seleccionar ese elemento,
voy a tener que poner
un Seleccionar Método
al final de este objeto

English: 
to express the range object,
but the basics just says,
I'm going to select a range.
That range is,
let's say C3.
I've selected this cell inside
this completely blank workbook here
using that particular range object.
And I'm going to show you
that in just a moment.
I've typed in that cell
"select this cell".
So let's say my cursor is down here
somewhere else in the interface.
And I want to be able to
select that particular cell.
I can simply type in range.
That's my object.
Now I'm going to need to specify
exactly which range I want to select,
which I do using the syntax
parentheses, quotation marks
then the actual cell I want to select
or cells I want to select.
And then I close it out
with the quotation marks
and a ending parentheses.
Now, if I actually want
to select that item,
I am going to have to put
a Select method
on the end of this object

English: 
that actually not just refers
to that range, but selects it.
And when I hit my Enter key,
you'll see that I have now
selected that given cell.
That's the most basic way
to make a simple cell selection in VBA,
but there are a whole lot more ways
that you can make a cell selection.
And it all depends on what you want to do.
Let's just look at a few different ways
that we can make a
particular cell selection.
Using the range object,
we can use the simple
example of selecting Range C3
in the example that I just showed us,
I could also say a
range inside of a range.
We do that by typing Range.Range.
What this does,
is it essentially navigates
from the beginning of the spreadsheet
or A1, if you will,
to Range B2.
And then after that,
I make another jump to another range
that isn't actually the cell B2,
but rather what it means is
that it's moving over two

Spanish: 
que no se refiere solo a ese
rango, sino que lo selecciona.
Cuando pulso mi tecla Intro,
verán que ahora seleccioné
esa celda determinada.
Es la forma más básica
de hacer una selección simple en VBA,
aunque hay muchas formas más
de hacer una selección de celda.
Todo depende de qué quieren hacer.
Veamos algunas formas diferentes
en que podemos hacer una
selección de celda en particular.
Usando el objeto Rango,
podemos usar el simple ejemplo
de seleccionar el rango C3
en el ejemplo que les acabo de enseñar,
también podría decir un rango de un rango.
Hacemos eso escribiendo Range.Range.
Lo que esto hace
es que esencialmente navega
desde el inicio de la hoja
o A1, si prefieren,
al rango B2.
Después de eso,
realizo otro salto a otro rango
que no es la celda B2,
sino lo que significa es que
se está moviendo dos al lado

Spanish: 
y dos abajo,
para tener un rango dentro de un rango.
Esto no se ve muy a menudo.
Sí se ve cómo la grabadora
de macros los hace,
así que no se engañen
cuando vean que la
grabadora de macros lo hace.
Sí significa un rango dentro de un rango,
lo que no se refiere a la celda
como podrían estar familiarizados con ella
como la celda regular B2.
Lo que significa es que está compensando
más allá de esa celda.
También pueden usar el
objeto llamado Celdas.
Celdas usa valores numéricos
para referirse a la columna.
El beneficio de usar celdas
es que a VBA y Excel les
gusta usar números enteros
en vez de cadenas de texto.
Así que van a ver que esto a veces
funciona un poco más rápido.
También pueden usar la clave,
que es la dirección de la celda
rodeada de corchetes.
Más tarde en este curso
vamos a usar el método de compensación.
Si fuéramos a usar eso para
seleccionar la celda C3,
empezaríamos con algo como,
digamos la celda A1,

English: 
and moving down two,
so you can have a range inside of a range.
You don't see this happen very often.
You do see the macro
recorder do it, however,
so don't be fooled
when you see it done
by the macro recorder.
It does mean a range within a range,
which does not refer to the cell
as you would be familiar with it
as the regular cell B2.
What it means is that it's
offsetting past that cell.
You can also use the object called Cells.
Cells uses numerical values
to refer to the column.
Now, the benefit of using cells
is that VBA and Excel
both like to use integers
rather than text strings.
So you'll find that this one sometimes
works a little bit faster.
You can also use the shorthand,
which is the cell address,
surrounded by the square brackets.
And then later on in this course,
we are going to be
using the offset method.
If we were going to be using
that to select cell C3,
we would start with something like,
let's say cell A1,

Spanish: 
que tenemos aquí en el
quinto rango de ejemplo,
A1.Offset,
la compensación es mi método.
Lo que hace es
esencialmente que nos
mueve en cierta dirección.
El método de compensación
sí usa números enteros
para especificar qué tan
abajo y encima vamos.
El primero es qué tan lejos vamos.
El segundo es qué tan arriba vamos.
Vamos a cubrir esto
más tarde en el curso también.
Así que no deben memorizarlo ahora.
La forma final en que nos
podemos referir a un rango
en este nivel de codificación VBA
es usando una variable.
Vamos a hablar sobre variables
mucho después.
Así que no es algo que necesitan
memorizar ahora.
No obstante, si almaceno una referencia
de celda en particular
o rango de celda como una variable,
llamémosla miRango, por ejemplo,
más tarde, cuando quiera poder referirme
a ese rango en particular, puedo decir,
¿cuál rango voy a arregalr?
El rango que llamé miRango.
Esas son las muchas formas diferentes
en que podemos referirnos a los rangos.
Y todas funcionaron muy bien.

English: 
which we have there in
the fifth example range,
A1.Offset,
offset is my method.
And what that does is
it essentially moves us
in a certain direction.
The Offset method does use integers
to specify how far down and
how far over we're going.
The first one is how far down we're going.
The second one is how
far over we're going.
And we are going to cover this
later on in the course as well.
So you don't need to
memorize it right now.
The final way that we
could refer to a range
at this level of VBA coding anyway,
is by using a variable.
Now we're going to be
talking about variables
a whole lot later.
So this is not something that you need
to memorize right now.
However, if I stored a
particular cell reference
or cell range as a variable,
let's call it myRange for example.
Later on, when I want to be able to refer
to that particular range, I can say,
oh, I'm going to arrange which range?
The range that I named myRange.
And those are the many different ways
that we could refer to ranges.
And they all worked great.

Spanish: 
Si hiciera esto en la
ventana de ejecución,
podría decir rango C3.Select.
En nuestro segundo ejemplo,
empezamos escogiendo el rango B2
y luego dijimos, rango B2 de nuevo,
que podrían recordar o no
que básicamente compensa el original
y hace esa selección.
Voy a dar
clic en una celda cualquiera por aquí
para que puedan ver esto en acción.
Cuando ejecute esto, habré
seleccionado la celda C3.
También podría usar el objeto Celdas,
el cual describí antes.
Celdas usa números enteros.
Veremos en esa pequeña
ventana de sugerencias
el índice de las filas,
la fila que quiero escoger
y luego la columna que quiero escoger.
Claro que necesito poner
mi método Seleccionar ahí.
Ahí vamos, lo va a seleccionar.
Si quieren ver esto en acción,
puedo dar clic aquí y
enseñarles, ahí está.

English: 
If I were to do this in
the immediate window,
I could say Range C3.Select.
Or in our second example,
we started by choosing range B2
and then we said, range B2 again,
which you may or may not remember,
basically offsets from the original
and makes that selection.
And I'm just going to go ahead
and click on a random cell over here
so that you can actually
see this in action.
And when I execute this, I
have selected on cell C3.
Now I could also use the Cells object,
which I described earlier.
Cells uses integers, okay.
And we'll see in that little
hint window, the Row Index.
So the row that I would like to choose,
and then the column that
I would like to choose.
Course, I do need to put
in my Select method there.
And there we go, it'll select it.
Now, of course, if you actually
want to see this in action,
I'll click over here for you
and show you, there we go.

Spanish: 
Y funciona.
Puedo usar mi clave con los corchetes,
C3 corchetes,
y eso también funciona.
También puedo usar una compensación,
que nuevamente, no tenemos
que aprender ahora mismo.
Solo quiero que vean
que tienen muchas opciones diferentes.
Puedo empezar seleccionando
cualquier celda
y luego moverme en una
determinada dirección.
Digamos que dos filas
abajo, y dos filas al lado,
lo cual nos colocará en la celda C3,
si la selecciono, por supuesto.
Aquí vamos.
Esas son las muchas formas diferentes
en que pueden expresar un rango en VBA.
Y manténganlas en mente
a medida que avancemos con el curso.
Si no lo han hecho todavía,
abran un libro completamente en blanco,
abran su ventana de Visual
Basics para Aplicaciones
en el lado derecho,
escriban en cualquier celda de
su hoja de cálculo de Excel.

English: 
And it works.
I can use my shorthand
using the square brackets,
C3 square bracket,
and that works as well.
And I can also use an offset,
which again, we are not
needing to learn right now.
I just want you to see
that there are many
different options for you.
So I can start by selecting any given cell
and then move in a certain direction.
Let's say two rows down and two rows over,
which is going to place us at cell C3,
if I select it, of course.
And there we go.
So those are the many different ways
that you can express a range in VBA.
And you'll want to keep those in mind
as we're going throughout the course.
If you haven't done so already,
open up a completely blank workbook,
open up your Visual Basics
for Application window
on the right-hand side,
go ahead and type in any cell
in your Excel spreadsheet.

Spanish: 
Quiero que practiquen usando estos rangos
para seleccionar esa celda
usando las diferentes opciones
que tienen disponibles.
Regresen
y usen cualquiera de las opciones
que están enumeradas en la diapositiva
para seleccionar ese rango.
La siguiente herramienta
de selección más importante
que vamos a tener es el
método llamado Seleccionar,
que ya hemos visto,
y el objeto llamado Selección.
Están estrechamente relacionados,
pero hacen cosas muy diferentes.
Como vimos en el último ejemplo,
podría seleccionar un rango en particular
refiriéndome a ese rango directamente
con el nombre de ese rango
usando el objeto Rango.
Después de eso,
podría decir Seleccionar y
eso seleccionará el rango C3.
Ahora que ya seleccioné ese elemento,
me puedo referir a él usando
el objeto llamado Selección.
Noten la diferencia
entre selección y rango.
La selección no requiere que yo
especifique en realidad

English: 
And I want you to practice
using these ranges
to actually select that cell,
using the different options
that you have available.
Go ahead and come back
and use any of the given options
that are listed on the slide here
to actually select that range.
The next most important selection tool
that we're going to have is
the method called Select,
which we've already seen
and the object called Selection.
They are very closely related,
but they do very different things.
As we saw in the last example,
I could select a particular range
by referring to that range directly
with the name of that range
using the Range object.
And then after that,
I could say Select and
that'll select Range C3.
Now that I've actually selected that item,
I can now refer to it using
the object called Selection.
Now notice the difference
between selection and range.
Selection does not require me
to actually specify

Spanish: 
el nombre de una celda,
lo que significa que
es una referencia de celda absoluta.
Siempre se refiere a
una celda en particular,
mientras que el objeto Selección
por el contrario se refiere a
lo que ya ha sido seleccionado.
Esto puede ser bastante dinámico.
Podemos usar esto en todo
tipo de situaciones distintas.
Más tarde, a lo largo del curso,
vamos a usar este trozo de código
para permitir que otros trozos de código
seleccionen por nosotros,
para luego poder ejecutar
cualquier especificación
que queramos aquí.
Ahora que seleccionamos esta celda,
podemos hacer muchas cosas importantes.
Podría poner un valor en
particular en esta celda.
Podría decir algo como "Hola mundo".
Y eso cambia el texto
que está en esa celda a
lo que sea que yo escoja.
También puedo cambiar
algunas características
de esta celda en particular.

English: 
a cell name,
meaning the range
is an absolute cell reference.
It absolutely always refers
to a particular given cell,
whereas the Selection object
instead refers to
what has already been selected.
So this can be rather dynamic.
We can use this in all
different kinds of situations.
And indeed later on,
throughout the course,
we're going to be using this bit of code
to be able to allow other bits of code
to make a selection for us,
and then be able to run
whatever kind of specifications
we would like here.
Now that we have selected this given cell,
we can do a number of important things.
I could put a particular
value in this cell.
I could say something like, "Hello world".
And that changes the text
that is actually placed in that cell to
whatever I chose.
I can also change some of the features
of this particular cell.

English: 
I could say,
okay, the interior
color,
and you don't have to memorize this,
of this cell is
something like 65535
which I happen to have memorized.
It is also known as VB yellow.
It is one of the most
typical color selections
that you can make in visual basic.
Should you be interested,
you can absolutely go into the slide deck
that has been provided
for you for this course.
And there are some slides
that are all about color
specifications in VBA.
There are groups called
Theme Colors and VB Colors
that have a specific number
of assignments already in VBA.
These are the lists of
the possible assignments
that we could use.
You do not have to
remember these right now.
We will be taking a look
at a couple of them,
but basically you can
come back to the slide
anytime you would like to
be able to check these out.
There are other options for
how you can color code things in VBA.
And that is using what's referred to as

Spanish: 
Podría decir,
el color
interior,
y no tienen que memorizar esto,
de esta celda es
algo como 65535,
que resulta que me sé de memoria.
También se conoce como amarillo VB.
Es una de las selecciones
de color más típicas
que pueden hacer en Visual Basics.
Si les interesa,
pueden ir a las diapositivas
disponibles para ustedes en este curso.
Hay algunas diapositivas
que tratan solo sobre
especificaciones de color en VBA.
Hay grupos llamados Colores
Temáticos y Colores VB
que tienen un número
específico de tareas en VBA.
Hay listas de las posibles tareas
que podríamos utilizar.
No tienen que recordarlas ahora.
Vamos a ver un par de ellas,
pero básicamente pueden
regresar a la diapositiva
en cualquier momento
que quieran revisarlas.
Hay otras opciones para
cómo codificar cosas con color en VBA.
Se hace usando lo que se llama

English: 
RGB colors or hex colors or hexadecimal.
You can Google or Bing
either of these options,
either of these terms.
And you will get nice websites
with full listings of
different kinds of RGB colors,
depending on which particular
hue you are interested in.
If we were to use either of these,
I could just say
Selection.Interior.Color = 65535.
That's the hex code for this.
Or I could say something
like VB yellow or VB blue.
I'll say blue so that it
actually changes the color
and we can see it happen there.
There we go.
The interior has changed now to blue.
That's how we use the VB colors.
You can also use the
same colors by saying,
hey, this is going to be a theme color.
And we could refer to a
specific theme color by saying
X, L,
you'll see XL starting
a lot of these property specifications,
xlThemeColor,
we'll say Dark1.

Spanish: 
colores RGB o colores hexadecimales.
Pueden buscar en Google o Bing
cualquiera de estas opciones,
cualquiera de esos términos.
Y van a encontrar buenas páginas web
con listas enteras de
diferentes tipos de colores RGB
dependiendo de cual tonalidad
en particular les interesa.
Si usáramos cualquiera de estas,
podría decir
Selection.Interior.Color = 65535.
Ese es el código hexadecimal para esto.
O podría decir algo como
amarillo VB o azul VB.
Diré azul para que cambie de color
y podamos ver cómo ocurre aquí.
Aquí vamos.
El interior cambió a azul.
Así es como usamos los colores VB.
También pueden usar los
mismos colores diciendo,
este va a ser un color temático.
Nos podríamos referir a un
color temático específico con
X, L,
verán que muchas de estas
especificaciones de
propiedades empiezan con XL,
xlColorTematico.
Diremos Oscuro1.

Spanish: 
Resulta que Oscuro1 no es tan oscuro.
Intentaremos Oscuro2.
Ese resulta que tampoco es muy oscuro,
pero lo podemos ver en acción.
Finalmente, pueden escoger
cualquier color RGB
simplemente diciendo primero RGB
y luego especificando los
tres dígitos de ese color.
Así.
Por supuesto,
Selección se usa mucho más que solo Color.
Podrían decir Selection.Font,
como hicimos antes, y decir, quiero que
esa fuente sea negrita.
Ahí lo tenemos, es negrita.
Es un poco difícil de notar,
porque esa celda es un poco oscura,
pero ese texto se puso en negrita.
Usemos ambos juntos.

English: 
Now Dark1 happens to not be very dark.
We'll try Dark2.
That also happens to not be very dark,
but we can see it in action.
And then finally you can
choose any of your RGB colors
by simply saying RGB first
and then specifying the
three digits of that color.
Like so.
Now of course,
Selection is used for
much more than just color.
You could say Selection.Font
like we did earlier and say,
I want to turn that font bold.
And there we go, it's bold.
It's kind of hard to tell,
because that cell is a little bit dark,
but that text has bolded there.
Here, let's use both of them together.

English: 
Now you can see that it's actually bold
and that's how we use
the Selection object.
We are also going to be using that
a whole lot throughout the course.
So if you haven't done so already,
go ahead and get a few practices in using
the Selection object
and come on back
and then we'll start doing some
very interesting scripting.
It's at this point in VBA programming,
where we're going to need to
start being able to insert
certain contents or certain
values into given cells.
Now there is a property that
does that very nicely for us,
and it's called Value.
It works very well with
either the Range object
or the Selection object.
Those are the two
that we're going to be
focusing on right now.
I could simply state my
Range object such as cell A1,
and I could say,
I want the value of that particular cell
to be the word
or words,
"Hello world".
And that gets inserted there.
Now I've already done
that in cell C3 as well
I've inserted something in cell C3
and I turned it bold

Spanish: 
Ahora pueden ver que está en negrita
y así es como usamos el objeto Selección.
También vamos a usar eso
mucho a lo largo del curso.
Si todavía no lo han hecho,
practiquen usando
el objeto Selección
y regresen
y luego empezaremos a hacer
scripts muy interesantes.
Es en este punto de la programación VBA
que vamos a necesitar poder insertar
ciertos contenidos o ciertos
valores en determinadas celdas.
Hay una propiedad que hace eso muy bien
y se llama Valor.
Funciona muy bien, ya
sea con el objeto Rango
o el objeto Selección.
Esos son dos
en los que nos vamos
a enfocar ahora mismo.
Podría simplemente determinar
mi objeto Rango como celda A1
y podría decir,
quiero que el valor de
esa celda en particular
sea la palabra
o palabras
"Hola mundo".
Y eso se inserta aquí.
Ya hicimos eso en la celda C3 también,
inserté algo en la celda C3
y lo volví negrita

Spanish: 
en el último ejemplo.
Digamos que ahora quiero
borrar el contenido
de una determinada celda.
Si quisiera borrar el contenido
de la celda A1, por ejemplo,
me referiría a la celda
A1 usando mi objeto Rango
y diría,
Borrar.
Noten que hay muchas más opciones aquí.
Tenemos Borrar,
tenemos Borrar comentarios,
tenemos Borrar contenido.
Eso mantendrá el formato,
pero eliminará el contenido
de una determinada celda.
También pueden borrar el
formato específicamente,
no el contenido, sino solo el formato.
Borrar es para borrar todo.
Cuando pulso eso,
borra absolutamente todo de esa celda.
Si no lo han hecho todavía,
tomen un momento para usar
su ventana de ejecución
y practiquen usando Valor.Rango
y Borrar.Rango.
Cuando hayan hecho eso,
practiquen exactamente lo
mismo con Valor.Selección
y Borrar.Selección.

English: 
in the last example.
Let's say now I want to
be able to clear contents
from a given cell.
If I wanted to clear the contents
from cell A1, for instance,
I would simply refer to cell
A1 using my Range object.
And I would say,
Clear.
Notice there are a
bunch more options here.
We have Clear,
we have Clear Comments.
We have Clear Contents.
That will keep the formatting,
but remove the contents from a given cell.
You can also clear the
format specifically,
so not the contents but the formats only.
Clear is for Clear all.
And when I hit that,
it absolutely clears everything
from that given cell.
If you haven't done so already
take a moment to use your immediate window
and practice using the Range.Value
and the Range.Clear.
And when you've done that one,
practice the exact same
with Selection.Value
and Selection.Clear.

English: 
Often we get content that
comes in from a data dump,
or maybe we have a coworker
that does some data entry for us.
Either way, sometimes we
get a bunch of content
and it's our job to spend
quite a bit of our own time,
just being able to format that content.
And so being able to
turn that into a macro
would be highly advantageous for us.
I often have circumstances in
which I get a bunch of content
and I need to rename all the sheets
that came in with that particular content.
In order to do that,
I have to be somewhat
familiar with the sheets
and active sheet objects.
Now I'm going to use my immediate window
to exemplify these first few examples.
If I wanted to name the active sheet,
which happens to be
sheet four in this case,
I could simply refer to active sheet.
That's the name of the object.
We could use a property called Name
and I'll just name that "Portfolio4".

Spanish: 
A menudo, vemos contenido que
llega de un basurero de datos
o quizás tenemos un compañero de trabajo
que ingresó algunos datos por nosotros.
De cualquier forma, a veces
tenemos un montón de contenido
y es nuestro trabajo pasar bastante tiempo
tratando de formatear ese contenido.
Así que poder convertir eso en un macro
sería muy ventajoso para nosotros.
A menudo, tengo circunstancias
con un montón de contenido
y debo renombrar todas las hojas
que llegaron con ese
contenido en particular.
Para poder hacer eso,
tengo que estar un poco
familiarizada con los objetos
Hojas y Hojas activas.
Ahora voy a usar mi ventana de ejecución
para ejemplificar estos primeros ejemplos.
Si quisiera nombrar la hoja activa,
que es la hoja cuatro en este caso,
podría simplemente
referirme a la hoja activa.
Ese es el nombre del objeto.
Podríamos usar una
propiedad llamada Nombre
y la nombraré "Portafolio4".

Spanish: 
Luego pulso Intro,
eso renombró mi hoja como "Portafolio4".
Digamos que quiero poder moverme
a una hoja diferente.
Puedo hacer eso de diferentes formas.
Puedo hacer eso usando
el método Seleccionar,
pero voy a necesitar
referirme a qué objeto
debo ir primero.
Así que podría decir algo como hojas,
la primera hoja, en orden.
Si usé Hoja 1,
la primera hoja está en el
orden de hojas de mi libro
o me podría referir a
la hoja diciendo hoja 1.
Ese resulta ser el nombre
de la hoja 1 ahora.
Luego, podría decir Seleccionar.
Si quisiera convertir esto en un macro
que entra y automáticamente
renombra mis hojas por mí,
podría hacerlo fácilmente
navegando a una hoja determinada,
usando el método Seleccionar,
y luego nombrando eso
usando la propiedad Nombre.
¿Por qué no practican eso?

English: 
And when I hit enter,
that has renamed my sheet to "Portfolio4".
Now, let's say I want to be able to move
to a different one of my sheets.
I can do that in a few different ways.
I can do that using the Select method,
but I am going to need
to refer to which object
I need to go to first.
So I could say something like sheets,
the first sheet, in order.
If I used sheets one,
the first sheet was in the
order of sheets in my workbook,
or I could refer to the
sheet by saying sheet one.
That happens to be the name
of sheet one right now.
And then I could say Select.
So if I wanted to turn this into a macro
that automatically went in and
renamed all my sheets for me,
I could easily do that by
navigating to a given sheet,
using the Select method.
And then naming that
using the Name property.
Why don't you go ahead and practice that.

Spanish: 
Inserten un nuevo módulo con
el menú desplegable Insertar,
creen un módulo y creen
un procedimiento también.
Yo nombraré el mío Probando123,
y voy a poner un macro aquí
que va a ir a cada hoja
y renombrarla
como ustedes quieran.
Cuando terminen,
deberían tener cuatro hojas
seleccionadas en su libro.
Y cada una debería estar renombrada.
Cuando terminen de codificar eso,
ejecútenlo y asegúrense de que funciona.
Luego regresen.
Bienvenidos de vuelta.
La última información importante
que vamos a aprender
antes de poder
practicar todo lo que
aprendimos hasta ahora
es la propiedad Región Actual.
La propiedad Región
Actual básicamente hace
lo que Ayuda de Control hace
si están operando dentro de Excel.

English: 
Insert a new module, using
the Insert dropdown menu,
create a module for yourself
and create a procedure as well.
I'm going to name mine, Testing123,
and I'm going to put a macro in here
that's going to go to each sheet
and then rename it
whatever you'd like.
When you're done,
you should have all four sheets
selected in your workbook.
And then you should have each one renamed.
When you're done coding that,
go ahead and run it and
make sure that it works.
And then come on back.
Welcome back.
The last little bit of
important information
that we're going to learn
before we actually get a chance
to practice everything
we've learned so far
is the Current Region property.
Now the Current Region
property basically does
what Control Aid does for you
if you are actually operating
within Excel itself.

English: 
So if I selected one of the
cells within this dataset here,
and I'm in the file called
Insert and Format Text,
you can join me if you would like.
If I select any one of the cells
inside of any one of these lists,
I happen to be in the list
on the sheet called Hybrid.
If I were to click on one of these cells
and use Control + A,
it selects all of the data
and it knows exactly where to stop
because I have a well-formed list.
Now, if I were to do this within VBA,
I would use the Current Region property.
So I'm going to start by
typing in the word Selection,
the object Selection,
and I'm going to use the current region
using the Current Region property.
And then after I've referred
to the current region,
I'm actually going to say,
I want to select it.
And once I actually execute
this, you'll see this in action.
And indeed VBA is able to
select this whole table.
We're going to be using this
throughout the course of our class.

Spanish: 
Si seleccionara una de las celdas
dentro de este conjunto de datos,
y estuviera en el archivo llamado
Insertar y Formatear Texto
pueden hacerlo conmigo si quieren.
Si seleccionara cualquiera de las celdas
dentro de cualquiera de estas listas,
estoy en la lista de la
hoja llamada Híbrida,
si diera clic en una de estas celdas
y usara Control + A,
se seleccionarían todos los datos
y sabría exactamente dónde parar
porque tengo una lista bien formada.
Si hiciera esto dentro de VBA,
usaría la propiedad Región Actual.
Voy a empezar escribiendo
la palabra Selección,
el objeto Selección,
y voy a usar la región actual
usando la propiedad Región Actual.
Después de referirme a la región actual,
voy a decir,
quiero seleccionarla.
Una vez que ejecute
esto, lo verán en acción.
Efectivamente, VBA puede
seleccionar la tabla completa.
Vamos a usar esto
a lo largo de nuestra clase.

English: 
So make sure you are able
to explore this a little bit
and practice it.
And once you have done so,
come on back
and then we're actually going to put
everything we've learned so
far into a practice exercise.
This is a practice video.
What we're going to be
doing is taking everything
that we've learned so far
throughout this course
and being able to implement
it all at the same time
into one macro.
I do have the file called
Insert and Format Text open,
and I've opened my Visual
Basic for Applications editor,
over on the right-hand side.
I am going to select the
sheet called Conservative.
That's what I'm going to get started on.
So make sure that you're on
the sheet called Conservative.
The tasks that we are
going to be accomplishing
in this particular rehearsal is
we're going to be inserting some headers.
We're going to be formatting those headers
and columns of data all the same time.
And we're going to be
able to execute these
on all the other sheets
that we have inside of this workbook.
Furthermore,
the last thing that we're going to do
is actually select all the content

Spanish: 
Asegúrense de explorar esto un poco
y de practicarlo.
Una vez que lo hayan hecho,
regresen
y entonces vamos a practicar
todo lo que hemos aprendido
hasta ahora en un ejercicio.
Este es un video de práctica.
Lo que vamos a hacer es tomar todo
lo que hemos aprendido
en este curso hasta ahora
e implementarlo todo al mismo tiempo
en un macro.
Tengo abierto el archivo llamado
Insertar y Formatear Texto
y abrí mi editor de Visual
Basics para Aplicaciones
en el lado derecho.
Voy a seleccionar la hoja
llamada Conservadora.
Ahí es donde voy a empezar.
Asegúrense de estar en la
hoja llamada Conservadora.
Las tareas que vamos a lograr
en este ensayo en particular son
vamos a insertar encabezados,
vamos a formatear esos encabezados
y columnas de datos al mismo tiempo.
Y vamos a poder ejecutarlos
en todas las demás hojas
que tenemos dentro de este libro.
Más aún,
lo último que vamos a hacer
es seleccionar todo el contenido

Spanish: 
que tenemos organizado en esta lista.
Y vamos a poner color en el fondo de eso
para que sea vea como una
lista visualmente agradable.
Ese es el ejercicio que vamos a hacer.
Vamos a crear tres diferentes
trozos de scripts macros
para poder hacer esto.
Los primeros dos los vamos a hacer
con la grabadora de macros porque si la
grabadora de macros puede
hacer algo rápido por nosotros,
preferimos usar la grabadora de macros.
Así que empiecen con
la grabadora de macros.
Este será el macro
que inserte nuestro texto.
Lo llamaré
InsertarTexto.
Lo voy a llamar InsertarTexto.
Luego voy a dar clic en Aceptar
y voy a empezar
solo poniendo algunos títulos aquí.
Ahora voy a llamar esto
"Nuestra compañía global"
y lo pongo en la celda A1.
En la celda A2, voy a decir,
esto siempre habla sobre los
precios de nuestras acciones.
Luego, en B4,

English: 
that we have organized in this list here.
And we're going to color
the background of that
so that it looks like a nice
visually-pleasing list there.
So that's the exercise that
we're going to go through.
We're going to create three
different bits of macro script
in order to be able to do this.
The first two we're
actually going to be doing
with the macro recorder.
Because if the macro recorder
can do anything fast for us,
we prefer to use the macro recorder.
So go ahead and get started
with the macro recorder.
And this is going to be the macro
that actually inserts our text.
So I'm going to call it
InsertText.
I'm going to call it InsertTxt.
Then I'm going to click Okay.
And I'm going to get started
by just putting some titles on here.
Now I'm going to call
this "Our Global Company,"
and I'm putting that in cell A1.
In cell A2, I'm going to say
this always talks about our stock prices.
Then in B4,

English: 
I'm going to put in the
name of my Portfolio here,
"Conservative Portfolio".
Now you may already be wondering,
well, is that going to cause a problem?
If I'm writing Conservative
Portfolio here,
what if I move on to the
Balanced Portfolio and the
aggressive Portfolio and
the defensive Portfolio,
then this little bit of
script that I've created here,
isn't actually going to
work and you would be right.
We are going to be putting
in some custom script
in a few minutes,
that's going to check the
name of our sheet for us,
but for now, let's just keep going.
I'm going to put in some
titles of my list here.
So this is my Symbol
and I have the Open, Close
and then the Net Change
with the time period.
And that's all the texts that
I need to be able to insert
with this particular macro.
So I'm going to go ahead and click Stop,
and it's stopped recording.
And I'm going to go look and see
what the macro recorder made for me.
It's going to be located
in my Modules folder
in my Visual Basic for
Applications window.
Here we go.

Spanish: 
voy a poner el nombre
de mi portafolio aquí,
"Portafolio conservador".
Quizás se están preguntando
si eso va a causar algún problema.
Si escribo Portafolio Conservador aquí,
qué pasa si continúo al
Portafolio Balanceado y el
Portafolio Agresivo y
el Portafolio Defensivo,
entonces este trozo de script que creé
no va a funcionar, y tendrían razón.
Vamos a incluir un script personalizado
en unos minutos,
eso va a revisar el nombre
de nuestra hoja por nosotros,
pero por ahora, simplemente continuemos.
Voy a poner algunos
títulos en mi lista aquí.
Este es mi Símbolo
y tengo Abrir, Cerrar
y luego Cambio de Red
con el periodo de tiempo.
Ese es todo el texto que
necesito poder insertar
con este macro en particular.
Voy a dar clic en Detener
y se detuvo la grabación.
Voy a ver
qué hizo la grabadora de macros.
Estará localizado en mi carpeta Módulos
en mi ventana de Visual
Basics para Aplicaciones.
Aquí vamos.

Spanish: 
Echemos un vistazo.
La grabadora de macros de
hecho puso un montón de cosas
que no necesito y otras
que se ven un poco raras.
Esta cosa dice Formula R1C1,
el cual es un lenguaje de
codificación muy anticuado.
Eso simplemente significa valor.
La mayoría de personas estos días
no escriben eso,
lo que escriben es Valor, al igual que yo.
De hecho, la grabadora
de macro también dijo,
Rango A1 Seleccionar y luego
CeldaActiva Ingresar el Valor,
pero no necesito eso.
Es un poco redundante.
Podría acortarlo a simplemente
Rango A4.Valor = "Nuestra
compañía global".
Voy a hacer eso en cada
una de estas líneas.
Eso va a limpiar todo.
La única razón por la que
podrían querer limpiar esto
es porque representa menos bytes.
El otro beneficio es que
cuando regrese y vea este código de macro
dentro de unos meses,
será más agradable para mí tenerlo limpio,
así será más fácil para
mí saber qué está pasando.
La mayor parte de nosotros,
los programadores de macro,

English: 
Let's take a look at it.
Now the macro recorder actually
put in a bunch of stuff
I don't need and some stuff
that looks a little bit weird.
This thing that says Formula R1C1
that's a really antiquated
coding language.
That just means value.
So most people, these days
don't actually type that in,
what they type in is
Value, like I just did.
And in fact, the macro recorder also said,
Range A1 select and then
ActiveCell input the value.
But I don't need that.
That's a little bit redundant.
So I could shorten this down to simply
Range A4.Value = "Our Global Company".
And I'm going to do that
for each one of these lines.
That's just going to
clean it all up for me.
The only reason that you
would want to clean this up,
it's a little bit less byte expensive.
And the other benefit is that
when I come back and
look at this macro code
a few months from now,
it's nicer for me to have it cleaner
so it's easier for me
to tell what's going on.

Spanish: 
tenemos el escenario del mundo real
en el que volvemos a un macro más tarde
y no podemos recordar
exactamente qué hacía.
Así que tenemos que
volver a leerlo de nuevo.
Así que mientras más limpio
esté, más agradable será.
Antes hablábamos sobre la dificultad
de tener esta palabra "Conservador" aquí,
porque voy a tener múltiples portafolios
y van a necesitar sus propios nombres.
Así que, en vez de que el código del macro
de hecho ponga la palabra "Conservador",
la voy a sacar
y le voy a decir VB,
revisa el nombre de la hoja,
revisa el nombre de mi
hoja y pon esa palabra.
Como aprendimos antes,
nos podemos referir a la hoja activa
y al nombre de esa hoja activa
usando HojaActiva.Nombre
y luego simplemente concateno eso
con la palabra "portafolio".
Intencionalmente, dejé un espacio aquí
porque quiero que la palabra "Conservador"
esté separada de la palabra "Portafolio"
porque se va a ver más agradable.
En su mayor parte, terminé
de insertar mi texto.

English: 
Most of we macro programmers
have the real world scenario
in which we come back to a macro later on
and we can't remember exactly what it did.
And so we have to read it all over again.
So the cleaner it is, the nicer it is.
Now we were talking earlier
about the difficulty
with having this word
"Conservative" in here,
because I'm going to have
multiple different Portfolios
and they're going to need their own names.
So instead of having the macro code
actually put in the word "Conservative,"
I'm going to take that out.
And I'm going to tell VB,
hey, check the name of
my sheet right here,
check the name of my sheet
and put in that word.
So as we learned earlier,
we can refer to the active sheet
and the name of that active sheet
using ActiveSheet.Name
and then I can simply concatenate that
with the word "Portfolio".
I did intentionally leave a space here
because I want the word "Conservative"
to be separated from the word "Portfolio"
because that's going
to be nicer to look at.
And for the most part I'm
done inserting my text.

Spanish: 
Si quisiera probar esto,
podría ir a la siguiente
hoja llamada Balanceada
y podrías dar clic en mi
botón de reproducción.
Y, efectivamente, se inserta todo,
incluyendo la palabra
"balanceado" en este caso,
en vez de la palabra "Conservador",
que es lo que quería.
Si no lo han hecho todavía,
graben su macro,
limpienlo y asegúrense
de hacer esta pequeña
modificación al código
para que su código efectivamente inserte
el nombre de la hoja y
el de sus portafolios
de forma personalizada.
Luego regresen y continuaremos.
Lo siguiente
que vamos a agregar a esto
es un macro de formato.
Así que voy a regresar
a mi hoja Conservadora
porque ahí es donde estoy creando todo,
aunque no tengo que hacerlo,
y voy a grabar otro macro aquí.
Voy a dar clic en grabar
y este se va a llamar FormatTxt
y voy a dar clic en Aceptar.
Solo voy a formatear un poco aquí,
celda A1,

English: 
All right, if I wanted to test this out,
I could go to the next
sheet called Balanced
and I could click on my play button.
And indeed that all gets inserted for me,
including the word
"Balanced" in this case,
instead of the word "Conservative,"
which is exactly what I wanted.
If you haven't done so already,
go ahead and record your macro,
clean it up and then make sure
to make this slight
modification to the code
so that your code will actually insert
the name of the sheet
and name your Portfolios
in a custom manner.
And then come on back and we'll continue.
The next little bit
that we're going to be adding to this
is a formatting macro.
So I'm going to go back
to my Conservative sheet,
because this is where
I'm creating everything,
although I wouldn't have to,
and I'm going to go and
record another macro here.
I'm going to click on record
and this one is going
to be called FormatTxt
and I'm going to click Okay.
And I'm just going to do
some basic formatting here,
cell A1,

Spanish: 
voy a poner este texto en tamaño 20,
lo voy a poner en negrita
y la próxima celda abajo que
dice "Precios de acciones",
quizás lo ponga en 18 y negrita,
y donde dice Portafolio Conservador,
quizás quiero que esté en 14 y negrita.
Mis encabezados los
pondré en negrita también
y de tamaño 12.
Lo otro que debo hacer es
cambiar todos mis valores numéricos
que se ven un poco confusos.
Quiero que todos se vean
como valores numéricos.
Voy a dar clic y arrastrar
mis encabezados de columna
para seleccionar varios.
Luego, voy a dar clic en mi signo de dólar
en mi pestaña de Inicio de la cinta
en el grupo de comando Número.
Eso los va a convertir a
todos en un signo de dólar.
Un par de estas columna
son un poco pequeñas,
especialmente la que
se llama Cambio de Red.
No puedo ver todo lo que está ahí.
Así que voy a seleccionar
todas las comunas de mi lista,
todas, incluyendo B, de B a E,
y voy a ajustarlas automáticamente

English: 
I'm going to make this text size 20,
I'm going to make it bold
and the next cell down
that says "Stock Prices,"
maybe I'll make this 18 and bold
and where it says Conservative Portfolio,
maybe I want that to be 14 and bold.
And my headers here I'll
make those bold as well
and size 12.
Now, the other thing I need to do is
change all my numerical values here
that are looking a little bit confusing.
I want them to all look
like numerical values.
So I'm going to click and
drag on my column headers
to select multiple.
And then I'm just going
to click on my dollar sign
on my Home tab of the ribbon
in the Number command group.
And that's going to convert
those all to a dollar sign.
Now a couple of these columns
are a little bit too small,
especially the one called Net Change.
So I can't see everything that's there.
And so I'm going to select all
the columns in my list here,
all of them, including B, so B through E,

Spanish: 
deteniéndome sobre el separador
entre ellas y dando doble clic.
Eso la hará lo suficientemente
grande para que quepa todo el contenido.
Lo último que voy a hacer
es desmarcar aquí.
Me gusta desmarcar
para no dejar un montón
de cosas seleccionadas.
Así que voy a desmarcar
E1 y eso está bien.
Y terminé.
Voy a la pestaña Programador
y Detener Grabación.
Ahora, por supuesto,
vamos a regresar y ver el código
y ver qué de aquí necesitamos
y qué de aquí no necesitamos,
al igual que en el último ejemplo.
Con este ejemplo en particular,
cuando se trata de formatear un texto,
la grabadora de macros trae muchas cosas
que no necesitamos.
Así que verán en esta primera línea
que dice,
Seleccionar celda A1.
Y verán esta cosa llamada una instrucción
With End With.
La razón de que esto esté
aquí es porque sin eso,
cada una de estas pequeñas modificaciones,
como el nombre de la fuente, que es Ariel,
el tamaño de la fuente, que es 20,

English: 
and I'm going to auto fit them
by hovering over the divider
in between any of them
and double clicking.
That's going to make it big enough
to fit all of the content.
And then the last thing I'm going to do
is de-select here.
I like to de-select
so I don't leave a bunch
of things selected.
So I'll de-select on E1 and that's fine.
And I'm done.
I'm going to go to the Developer
tab and stop recording.
Now, of course,
we're going to go back
and look at the code
and see what's here that we need
and what's here that we don't need,
just like in the last example.
With this particular example,
when it comes to formatting text,
the macro recorder
brings in a lot of things
that we don't need.
So you'll see in this
very first line here,
it says, okay,
select cell A1.
And then you'll see
this thing called a With
End With statement.
The reason this is here
is because without it,
each one of these slight modifications,
like the name of the font, which is Ariel,
the size of the font, which is 20,

Spanish: 
el tachado, ya sea que lo quiera o no,
el superscript, ya sea que
lo quiera o no, etcétera,
todos tendrían que tener las palabras
Selección.Fuente en frente
de ellas normalmente.
Así que sería Selección.Fuente.Nombre,
Selección.Fuente.Tamaño,
Selección.Fuente.Tachado.
Eso sería un poco engorroso
para mí como programadora.
Así que tengo esta pequeña cosa llamada
una instrucción With End With
que me permite hacer una
instrucción de objeto una vez
Selección.Fuente
y luego referirme a todas las propiedades
de ese objeto en
particular al mismo tiempo.
Así no tengo que escribir el
nombre de mi objeto una y otra
y otra vez.
En este caso, hay muchas cosas aquí
que no necesito en realidad
como fuente temática, tinte, sombra,
índice de color, sombra
subyacente, bla, bla, bla.
No necesito nada excepto
el nombre y el tamaño.
Así que voy a borrar esos.
ASí es como limpio esto.
Ahora verán esta instrucción
aquí abajo que dice
Selección.Fuente.Negrita = Verdadero.

English: 
the strike through
whether I want it or not,
the superscript whether I
want it or not, et cetera,
all of these would have to have the words,
Selection.Font in front of them normally.
So it would be Selection.Font.Name,
Selection.Font.Size,
Selection.Font.Strikethrough.
And that would start to
get a little bit cumbersome
for me as a programmer.
And so I have this nice thing called
a With End With statement
that allows me to make
a object statement once
Selection.Font,
and then refer to all of the properties
of that particular object
all at the same time.
So I don't have to type my
object name over and over
and over again.
In this case, there's
a lot of things in here
I don't actually need
like theme font, tint, and shade,
color index, underlying
shadow, blah, blah, blah, blah.
I don't need anything except
for the name and the size.
And so I'm going to be deleting those.
And so this is how I'm
going to clean up this.
Now you'll see this
statement down here that says
Selection.Font.Bold = True.

English: 
Well, technically I
probably want that up here
and again, I don't have
to have it in here,
but the nice thing
about moving that around
is that later on,
when I look at this macro
code four months from now,
or whatever,
that I'll be able to see
all of my font formatting
directly in the same spot.
If you haven't done so already,
take a second to pause the video,
record your macro, that
actually formats your content.
Then come back in here
and clean up whatever you can.
Ideally,
if you are not sure that you
can delete certain texts,
make sure to comment
it out and then run it,
see if it works.
And if it works, then you can actually
delete all that content.
So go ahead and do that now,
come on back and we'll do the third step.
And the last little part
of this particular practice
is for me to select all the content
that happens to be in this list
and make it a slightly
different interior color.
And that way it'll kind of look nice.

Spanish: 
Técnicamente, probablemente
quiero eso aquí arriba,
aunque no lo tengo que tener ahí,
pero lo lindo de moverlo
es que más adelante,
cuando mire este código
de macro en cuatro meses,
o lo que sea,
podré ver todo mi formato de fuente
directamente en el mismo lugar.
Si no lo han hecho todavía,
tomen un segundo para pausar el video,
grabar un macro que realmente
formatee su contenido.
Luego regresen
y limpien lo que puedan.
Idealmente,
si no están seguros de que
pueden borrar ciertos textos,
asegúrense de comentarlos y ejecutarlos,
vean si eso funciona.
Y si funciona, entonces pueden
borrar todo ese contenido.
Así que hagan eso ahora,
regresen y haremos el tercer paso.
La última pequeña parte de
esta práctica en particular
es seleccionar todo el contenido
que está en esta lista
y darle un color interior
ligeramente diferente.
De esa forma, se verá lindo.

English: 
However, all of my lists
happen to be different sizes.
And so I am going to want to use the
Current Region property
that's going to figure out
exactly what the size is.
Then I need a Format there
and it's going to do it for me.
In order to do this,
I'm actually going to do
my own manual scripting.
You could also do it
with the macro recorder
if you wanted to,
but I'm going to take this opportunity
to insert a new procedure here.
A procedure is basically
a mini macro or a macro,
and I'm going to call this one FormatList,
click Okay.
And all I'm going to do is
start by selecting range B6,
because that always has
the list content in it.
As you can see here,
my list starts with B6 and it
just so happens that it also
starts in B6 with all the
rest of the sheets there.
So I'll say Range,
B6.CurrentRegion.Select

Spanish: 
No obstante, todas mis listas
son de diferentes tamaños.
Así que voy a usar la
propiedad Región Actual
que va a determinar
exactamente cuál es el tamaño.
Luego necesito un formato aquí
y lo va a hacer por mí.
Para poder hacer esto,
voy a hacer mi propio script manual.
Ustedes podrían hacerlo también
con la grabadora de macros
si quisieran,
pero voy a tomar esta oportunidad
para insertar un nuevo procedimiento aquí.
Un procedimiento es básicamente
un mini macro o un macro,
y voya llamar este ListaFormato,
doy clic en Aceptar.
Voy a empezar seleccionando el rango B6
porque ese siempre tiene el
contenido de la lista en él.
Como pueden ver aquí,
mi lista empieza con B6
y resulta que también
empieza con B6 en el resto de las hojas.
Así que voy a decir Rango,
B6.RegionActual.Seleccionar,

Spanish: 
y luego diré, con base en esa selección,
que quiero que el interior
de todas esas celdas
tengan un color temático en particular,
y quizás voy a escoger xlColorTematico,
Oscuro2.
Y si ejecuto esto en la hoja,
podré ver que rápidamente
formatea mi lista ahí.
Bueno.
Ahora que ya crearon todos estos macros,
vayan al resto de las hojas del documento
y ejecútenlas aquí
y aprecien en este momento
cuánto más rápido sería crear estos macros
y tenerlos de forma permanente
de ahora en adelante
en cada hoja, y usarlos
en vez de hacerlo de forma manual.

English: 
and then I'll say based on that selection,
I want the interior
of all those cells
to be a particular theme color,
and maybe I'll choose xlThemeColor,
Dark2.
And if I run this on the given sheet,
I'll be able to see that it
quickly formats my list there.
Okay.
Now that you have created
all of these macros,
go to all the rest of the
sheets in the document
and run them all here
and just sort of
appreciate at this moment,
exactly how much faster it
would be to create these macros
and then have them
permanently from now on,
in every single sheet here and use them
instead of doing it manually.

English: 
When you're done,
come on back and we'll keep going.
Thanks for watching.
Don't forget,
we also offer live classes
and office applications,
professional development
and private training.
visit learnit.com for more details,
please remember to Like and Subscribe
and let us know your
thoughts in the comments.
Thank you for choosing learn it.
(gentle music)

Spanish: 
Cuando terminen,
regresen y continuaremos.
Gracias por ver.
No olviden,
también ofrecemos clases en
vivo y aplicaciones de oficina,
desarrollo profesional y
entrenamiento personal.
Visiten learnit.com para más detalles,
por favor, recuerden dar
Me gusta y suscribirse,
y dígannos qué piensan en los comentarios.
Gracias por escoger learnit.
