Anda di halaman 1dari 30

OFIMATICA II | ARQ.

VALERY OCHOA |AGOSTO 2017 1

Qu es una macro de Excel?

Si utilizas Excel frecuentemente es posible que en alguna ocasin te hayas encontrado ejecutando una
misma serie de acciones una y otra vez. Esas acciones que haces repetidas veces se podran automatizar
con una macro.

Una macro es un conjunto de comandos que se almacena en un lugar especial de Excel de manera que
estn siempre disponibles cuando los necesites ejecutar.

Por ejemplo, si todas las maanas creas un reporte de ventas y en ese reporte siempre das el mismo
formato a los textos, se podra crear una macro para que lo haga automticamente por ti. Las macros se
utilizan principalmente para eliminar la necesidad de repetir los pasos de aquellas tareas que realizas
una y otra vez.

Un lenguaje de programacin

Las macros se escriben en un lenguaje de computadora especial que es conocido como Visual Basic for
Applications (VBA). Este lenguaje permite acceder a prcticamente todas las funcionalidades de Excel y
con ello tambin ampliar la funcionalidad del programa.

Pero no te preocupes si no eres un programador de computadoras, Excel provee de una herramienta


especial que permite crear una macro sin necesidad de conocer los detalles del lenguaje de
programacin.

Aunque si aceptas el desafo y te introduces en el mundo de la programacin VBA pronto te convertirs


en un Ninja de Excel. Vers que crear una macro en Excel no es tan complicado y ser una manera fcil y
rpida de eliminar esas tareas repetitivas que todos los das te quitan minutos preciados de tu tiempo.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 2

Para qu sirve una macro en Excel

Para qu sirve una macro en Excel? Una macro nos ayuda a automatizar aquellas tareas que hacemos
repetidamente. Una macro es una serie de instrucciones que son guardadas dentro de un archivo de
Excel para poder ser ejecutadas cuando lo necesitemos.

Automatizacin de tareas

Seguramente ests familiarizado con procesos de automatizacin en el mbito industrial. Un ejemplo


muy claro son las plantas ensambladoras de automviles donde existen robots que han sustituido tareas
que antes eran hechas por humanos. La automatizacin trajo beneficios como mayor eficiencia y
productividad de las plantas y un mejor aprovechamiento del tiempo del personal al reducir la cantidad
de tareas repetitivas que realizaban.

De la misma manera las macros nos ayudan a eliminar esas tareas repetitivas de nuestro trabajo
cotidiano al permitirnos utilizar mejor nuestro tiempo en el anlisis de los datos y en la toma de
decisiones.

Cmo se ve una macro en Excel?

Las macros son escritas en un lenguaje de computadora conocido como VBA por sus siglas en ingls
(Visual Basic for Applications). Como cualquier otro lenguaje de computadora debemos aprender a
utilizar los comandos que nos ayudarn a indicar a Excel lo que deseamos hacer con nuestros datos.

Aprender el lenguaje VBA no es nada complicado y se puede lograr fcilmente. Lo que toma un poco ms
de tiempo es pulir nuestras habilidades de programacin. Lo que quiero decir con esto es que para ser
un buen programador de macros debes dedicar tiempo en resolver mltiples problemas en donde
puedas llevar al lmite el lenguaje VBA.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 3

Creacin de una macro

Las macros se crean con el Editor de Visual Basic el cual nos permitir introducir el cdigo con las
instrucciones que sern ejecutadas por la macro.

Existe otro mtodo que es utilizar la Grabadora de macros la cual ir grabando todas las acciones que
realicemos en Excel hasta que detengamos la grabacin. Una vez grabada la macro podremos reproducir
de nuevo las acciones con tan solo un clic.

Ahora que ya sabes para qu sirve una macro en Excel puedes dar los primeros pasos en este camino
utilizando el tutorial Introduccin a las macros.

Mostrar la ficha Programador

Si quieres escribir una nueva macro o ejecutar una macro previamente creada, entonces debes habilitar
la ficha Programador dentro de la cinta de opciones. Para mostrar esta ficha sigue los siguientes pasos.

Mostrar la ficha Programador en Excel 2010

Haz clic en la ficha Archivo y elige la seccin Opciones. Se mostrar el cuadro de dilogo Opciones de Excel
donde debers seleccionar la opcin Personalizar cinta de opciones.

En el panel de la derecha debers asegurarte de seleccionar la ficha Programador.


OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 4

Acepta los cambios y la ficha se mostrar en la cinta de opciones.

Grupos de la ficha Programador

El grupo Cdigo tienes los comandos necesarios para iniciar el Editor de Visual Basic donde se puede
escribir directamente cdigo VBA. Tambin nos permitir ver la lista de macros disponibles para poder
ejecutarlas o eliminarlas. Y no podramos olvidar mencionar que en este grupo se encuentra el
comando Grabar macro el cual nos permite crear una macro sin necesidad de saber sobre programacin
en VBA.

El grupo Complementos nos permite administrar y habilitar complementos como el Solver.

El grupo Controles incluye funcionalidad para agregar controles especiales a las hojas de Excel como los
controles de formulario que son botones, casillas de verificacin, botones de opcin entre otros ms que
sern de gran utilidad para ampliar la funcionalidad de Excel.

El grupo XML permite importar datos de un archivo XML as como opciones tiles para codificar archivos
XML. Finalmente el grupo Modificar solamente contiene el comando Panel de documentos.

Aunque pueden parecer intimidantes los comandos de la ficha Programador con el paso del tiempo te
irs familiarizando poco a poco con cada uno de ellos.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 5

La grabadora de macros

Puedes crear una macro utilizando el lenguaje de programacin VBA, pero el mtodo ms sencillo es
utilizar la grabadora de macros que guardar todos los pasos realizados para ejecutarlos
posteriormente.

La grabadora de macros en Excel 2010

La grabadora de macros almacena cada accin que se realiza en Excel, por eso es conveniente planear
con antelacin los pasos a seguir de manera que no se realicen acciones innecesarias mientras se realiza
la grabacin. Para utilizar la grabadora de macros debes ir a la ficha Programador y seleccionar el
comando Grabar macro.

Al pulsar el botn se mostrar el cuadro de dilogo Grabar macro.

En el cuadro de texto Nombre de la macro debers colocar el nombre que identificar de manera nica a
la macro que estamos por crear. De manera opcional puedes asignar un mtodo abreviado de teclado el
cual permitir ejecutar la macro con la combinacin de teclas especificadas.

La lista de opciones Guardar macro en permite seleccionar la ubicacin donde se almacenar la macro.

Este libro. Guarda la macro en el libro actual.

Libro nuevo. La macro se guarda en un libro nuevo y que pueden ser ejecutadas en cualquier
libro creado durante la sesin actual de Excel.

Libro de macros personal. Esta opcin permite utilizar la macro en cualquier momento sin
importar el libro de Excel que se est utilizando.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 6

Tambin puedes colocar una Descripcin para la macro que vas a crear. Finalmente debes pulsar el
botn Aceptar para iniciar con la grabacin de la macro. Al terminar de ejecutar las acciones planeadas
debers pulsar el botn Detener grabacin para completar la macro.

Crear una macro

En esta ocasin mostrar cmo crear una macro en Excel utilizando la grabadora de macros. La
macro ser un ejemplo muy sencillo pero permitir ilustrar el proceso bsico de creacin.

Voy a crear una macro que siempre introduzca el nombre de tres departamentos de una
empresa y posteriormente aplique un formato especial al texto. Para iniciar la grabacin debes ir
al comando Grabar macroque se encuentra en la ficha Programador lo cual mostrar el siguiente
cuadro de dilogo.

Observa cmo he colocado un nombre a la macro y adems he especificado el mtodo


abreviado CTRL+d para ejecutarla posteriormente. Una vez que se pulsa el botn Aceptar se
iniciar la grabacin. Observa con detenimiento los pasos.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 7

Al terminar los pasos se pulsa el comando Detener grabacin y la macro habr quedado
guardada. Para ejecutar la macro recin guardada seleccionar una nueva hoja de Excel y
seleccionar el comando Macros.

Al pulsar el comando Macros se mostrar la lista de todas las macros existentes y de las cuales
podrs elegir la ms conveniente. Al hacer clic sobre el comando Ejecutar se realizarn todas las
acciones almacenadas en la macro y obtendrs el resultado esperado. Por supuesto que si
utilizas el mtodo abreviado de teclado de la macro entonces se omitir este ltimo cuadro de
dilogo.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 8

El cdigo de la Grabadora de macros

Una manera muy interesante de descubrir y aprender ms sobre cdigo VBA es analizar el
cdigo generado por la Grabadora de macros. Para este ejemplo grabaremos una macro muy
sencilla que solamente cambie el color de la fuente de la celda actual.

Para comenzar debemos ir a la ficha Programador y pulsar el comando Grabar macro lo cual
mostrar el cuadro de dilogo donde asignar un nombre a la macro que estoy por crear.

Pulsa el botn Aceptar y se comenzarn a grabar todas las acciones, as que debes actuar con
cuidado porque se grabar absolutamente todo. Para la macro que estoy grabando solo har lo
siguiente: ir a la ficha Inicio y pulsar el comando Color de fuente y seleccionar el
color rojo para la celda activa.

Una vez hecho esto debo detener la grabacin de la macro y una alternativa para hacerlo es
pulsar el icono que se muestra en la barra de estado.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 9

Ahora que ya hemos generado la macro, pulsa el botn Macros que se encuentra en el grupo
Cdigo de la ficha Programador. Se mostrar el cuadro de dilogo Macro que enlista todas las
macros que hemos creado.

Selecciona la macro recin creada y pulsa el botn Modificar. Esto abrir el Editor de Visual Basic
y mostrar el cdigo generado para la macro.

Observando este cdigo podemos aprender varias cosas. Para empezar observamos que el
objeto Selection tiene una propiedad llamada Font que es la que hace referencia a la fuente de
la celda o rango seleccionado. A su vez, la propiedad Font tiene otra propiedad llamada Color
que es precisamente la que define el color rojo de nuestra celda.

Aunque este ha sido un ejercicio muy sencillo, cuando tengas curiosidad o duda sobre qu
objetos utilizar al programar en VBA considera utilizar la Grabadora de macros para darte una
idea del camino a seguir.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 10

Establecer seguridad de macros

La seguridad es un tema importante al hablar de macros en Excel. Si abres algn archivo que contenga
una macro maliciosa puedes causar algn tipo de dao al equipo. De manera predeterminada Excel no
permite ejecutar macros automticamente.

Sin embargo, si ests creando tus propias macros y deseas remover esta proteccin porque sabes que no
existe cdigo malicioso, entonces puedes modificar la configuracin para habilitar todas las macros.
Para hacerlo debes seguir los siguientes pasos.

Haz clic en la ficha Archivo y posteriormente en Opciones. Dentro del cuadro de dilogo mostrado
selecciona la opcin Centro de confianza y posteriormente pulsa el botn Configuracin del centro de
confianza. Se mostrar el cuadro de dilogo Centro de confianza.

Dentro de la seccin Configuracin de macros selecciona alguna de las opciones disponibles.

Deshabilitar todas las macros sin notificacin. Deshabilita las macros y permite ejecutar
solamente aquellas que estn almacenadas en un lugar confiable. Los lugares confiables se
configuran en la seccin Ubicaciones de confianza del mismo cuadro de dilogo.

Deshabilitar todas las macros con notificacin. Muestra una alerta de seguridad advirtiendo
sobre la intencin de ejecutar una macro de manera que se pueda decidir si se desea ejecutar.
Esta es la opcin predeterminada de Excel.

Deshabilitar todas las macros excepto las firmadas digitalmente. Solamente se podrn ejecutar
las macros que estn firmadas digitalmente.

Habilitar todas las macros. Permite ejecutar todas las macros sin enviar alguna notificacin al
usuario. Esta opcin es til si se ejecutan mltiples macros totalmente confiables. Esta opcin es
la que corre los mayores riesgos al ejecutar una macro de una fuente desconocida.

Una vez seleccionada la opcin deseada se debe pulsar el botn Aceptar para hacer los cambios
permanentes.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 11

Ejercicios

Paso 1: Activar la Barra de Herramientas Programador

Para escribir macros, necesitar acceso a la barra de herramientas Programador en la cinta superior. sta
est oculta por defecto. Para activarla, vaya a Archivo->Opciones->Personalizar Cinta y marque la casilla
junto a Programador.

Pulse OK. Ahora debera ver la barra de herramientas Programador en la cinta.

Paso 2: Habilitar Macros

Las macros estn deshabilitadas por defecto en Excel. Es as para protegerle de macros maliciosas que se
ejecutan automticamente en ficheros Excel descargados.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 12

Para usar macros, tendr que primero habilitarlas desde el Centro de Confianza. Para hacer esto vaya a
Archivo -> Opciones -> Centro de Confianza. Haga click en el botn Ajustes Centro de Confianza en este
men.

En esta nueva ventana, vaya a Ajustes Macro y seleccione el botn de radio Habilitar todas las macros.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 13

Haga click en OK. Ahora puede empezar a usar macros en sus hojas de clculo Excel.

Paso 3: Preparar la Hoja de Clculo

En este tutorial, crearemos una macro muy simple para cambiar el color, tamao y negrita del texto.

En su hoja de clculo, escriba algn texto en una de las celdas. Ms tarde grabaremos una macro para
cambiar el formato de este texto.

Ahora que su hoja de clculo est lista, podemos empezar a crear la macro.

Paso 4: Crear una Nueva Macro

En la pestaa Programador, haga click en Grabar Macro

Una ventana emergente le preguntar el nombre, el atajo, una localizacin para guardarla y la
descripcin de la macro.

Escriba lo que quiera aqu. Le ayudar el ser descriptivo con los ttulos de sus macros. Puede acabar usando
docenas de macros en una hoja de clculo grande. Ser capaz de encontrar rpidamente macros
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 14

individuales por el nombre le ahorrar horas de frustracin ms tarde. Tambin es una buena prctica
aadir una descripcin para recordar lo que la macro hace realmente.

Dos cosas importantes a considerar aqu:

Teclas de Atajo: Las teclas de atajo le proporcionan un rpido acceso a la macro. Usar un atajo
personalizado est muy recomendado despus de todo, va a usar las macros para ahorrar
tiempo. Un montn de funciones Excel por defecto ya tienen asignadas atajos de la forma CTRL +
Letra/Nmero. Para evitar conflictos con atajos ya existentes, aada al menos dos teclas al atajo
algo como CTRL + SHIFT + A, o CTRL + A + 1

Guardar Macro en: En este men desplegable, puede decidir dnde guardar la macro. Si elige Este
Libro la macro estar disponible slo para su uso en ese libro solamente. Eligiendo Nuevo libro,
como habr adivinado, guardar la macro en un nuevo libro. La opcin ms potente aqu es
guardar la macro en Libro Macro Personal. Las macros almacenadas en este libro estn
disponibles en todos los libros. Piense en ello como un repositorio central para cada macro que
crea. El fichero de macros del libro actual estar oculto en la carpeta Windows AppData, pero se
cargar automticamente cuando empiece Excel, dndole acceso completo a todas las macros.

Para el propsito de este tutorial, le daremos a nuestra macro el atajo CTRL + SHIFT + A y la guardaremos
dentro del mismo libro.

Paso 5: Grabar la Macro

Una vez que haya introducido todos los detalles requeridos, haga click en OK. Ahora su macro se est
grabando.

Seleccione la celda donde ha introducido su texto. Cambie a la pestaa Home y cambie su color a rojo,
tamao de fuente 18, y peso de la fuente a negrita.

Cuando haya acabado, haga click en el botn Parar grabacin en la pestaa Programador o pulse el
pequeo cuadrado al final de la hoja de clculo junto a la etiqueta Ready.

Ahora ha grabado con xito una macro en Excel!


OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 15

Probar la Macro

Ahora que ha grabado su primera macro, es hora de verla en directo.

Aada unos pocos ms bloques de texto a su hoja de clculo, en cada celda. Puede que tenga que
cambiar el formato por defecto otra vez a fuente negra, tamao de fuente 11 y texto normal.

Una vez que haya aadido el texto, simplemente seleccione cualquier celda y pulse el atajo de su macro
(CTRL + SHIFT + A). El formato cambiar inmediatamente a fuente de tamao 18 negrita y de color rojo.
Puede aplicarlo a cada celda, o aplicarlo a mltiples celdas seleccionndolas a la vez.

Los cambios de formato que de otra forma le hubieran llevado varios clicks ahora puede hacerlos con un
sola pulsacin.

Esta es una de las macros ms bsicas que puede crear. Como puede imaginar, las macros complejas
pueden ser creadas para realizar tareas muy complicadas. Si trabaja con Excel 2010, tenga en
consideracin este curso online Ms Excel 2010 en Espaol para aprender todos los trucos de esta
herramienta..

Le fue til este tutorial? Nos encantara conocer su forma de pensar y opinin! Comprtala con
nosotros en los comentarios a continuacin.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 16

5 ejemplos para comenzar a usar Macros

Para comenzar a usar Macros, se debe tener en cuenta los siguientes 5 ejemplos donde se tiene lo
necesario para entender el funcionamiento de Macros de Excel. Todos los ejercicios de Macros en Excel
mostrados a continuacin cuentan con un ejemplo que se puede descargar y utilizar.

Ejemplo 1: Copiar formato en varias hojas

El link anterior muestra la forma de usar el grabador de macros

El siguiente macros copia un formato establecido en cualquier hoja que se aplique.

La hoja 7 esta vaca, antes de ejecutar la macros

Se ejecuto la Macros 2

La hoja 7, despus de ejecutar la macro

(Para mayor visualizacin de la imagen, hacer click en la misma)

Descargar ejemplo: Copiar formato en varias hojas

Ejemplo 2: Referencias relativas

El link anterior muestra el cdigo de referencia relativa VBA


OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 17

Hoja antes de ejecutar macros

Hoja despus de ejecutar la macros referencia relativa

(Para mayor visualizacin de la imagen, hacer click en la misma)

Descargar ejemplo: Referencia-Relativa

Ejemplo 3: Las cuatro operaciones bsicas con macros

El siguiente ejemplo ejecuta una macro por cada operacin bsica: suma, resta, multiplicacin y divisin

Hoja antes de ejecutar las macros


OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 18

Hoja despus de ejecutar las 4 macros

(Para mayor visualizacin de la imagen, hacer click en la misma)

Descargar ejemplo: Como-ejecutar-una-macro

Ejemplo 4: Copiar filas filtradas en nuevo libro

El siguiente ejemplo muestra una base de datos y la macros copia el filtro de los datos de la base y los
copia en un nuevo libro

Base de datos sin filtrar

Libro 5 generado del filtro por pais BRASIL

(Para mayor visualizacin de la imagen, hacer click en la misma)

Descargar ejemplo: Copiar-filas-filtradas


OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 19

Ejemplo 5: Creacin de grficos con macros

Con el siguiente ejemplo se puede crear grficos con el uso de macros

Hoja antes de ejecutar la macros

Hoja despus de ejecutar la macros

(Para mayor visualizacin de la imagen, hacer click en la misma)

En el blog no se muestra el ejemplo, pero se adjunta el archivo de lo realizado en el ejemplo

Descargar ejemplo: Grfico

Como se mencion al inicio, una vez visto stos ejemplos, el usuario ya puede entender el
funcionamiento de una macros y su utilidad al momento de realizar operaciones repetitivas.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 20

CREACIN DE UNA MACRO SENCILLA EN EXCEL PARA TAREAS RUTINARIAS

Excel es una potente herramienta de hoja de clculo, diseada para lo que su nombre indica calcular,
pero siempre, lo que ms tiempo nos roba, es la introduccin de datos y el diseo de los mismo, es
decir: cmo los mostramos finalmente.

Uno de los principales enemigos con los que tendremos que batallar es la importacin de datos desde
otro programa. Veamos un ejemplo: trabajamos con una aplicacin en la que una serie de vendedores
nos van indicando el nmero de ventas que realizan, y al finalizar el mes, tenemos que pasarle a nuestro
superior una tabla informativa, pero la aplicacin que usan los vendedores no es Excel, aunque s nos
permite exportar a dicho formato.
La maravillosa aplicacin que utilizan los comerciales, vendedores, etc. nos extrae esta tabla, que como
veris, slo nos muestra los datos, sin ningn tipo de formato, y esto, por as decirlo: no es presentable a
nadie.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 21

Y lo que hacemos mes a mes, es enviarle algo as a nuestro superior:


OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 22

Ms bonito, visual, corrigiendo los formatos de fechas, y aadiendo un promedio de ventas/da en cada
vendedor, con un formato condicional para que muestre los semforos en relacin a las ventas entre
ellos (Verde: ms ventas; Rojo: menos ventas; mbar: la media). Para que este promedio salga
correctamente, hemos tenido que eliminar los 0 en los fines de semana (das en los que no hay servicio
de ventas).

Todas estas acciones, que hacemos mes a mes, realmente no nos comen mucho tiempo, no ms de 5
minutos salvo que nos lo pidan diario o semanal, tengamos varios grupos de vendedores Estoy seguro
de que este pequeo tutorial te ser de mucha ayuda para tus tareas.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 23

Vamos con algo de accin.

Y ahora, a la izquierda, veremos varias opciones la que nos interesa: Grabar Macro.

Es cierto que hay mucha gente que programa sus macros para tareas ms complejas, pero este tutorial
no es para esa gente es para todo el mundo que empieza con excel o que no tiene muchas tablas en el
asunto. La mejor manera de empezar es grabando una Macro.

Antes de grabar la Macro, vamos a preparar un poco nuestra tabla simplemente vamos a bajar los
datos, salvo los ttulos, dejando 3 filas vacas encima de los datos de los vendedores. De la siguiente
forma:

Motivo? Simple las semanas comienzan en lunes, y el primer da del que tenemos datos es jueves, as
que dejamos espacio para esos das. En este mes no nos servir para nada, pero s para futuros meses, ya
le dejamos espacio. En el futuro, slo tenemos que pegar los datos empezando en el da que sea
necesario.

Ahora s, vamos con la Macro.

Cuando pulsamos el botn Grabar Macro, nos aparecer esta ventana:


OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 24

Vamos a ponerle el nombre. Para esto, Office es un poco especialito, dado que:

El primer carcter del nombre de la macro debe ser una letra.

Los dems caracteres pueden ser letras, nmeros o caracteres de subrayado.

No se permiten espacios en un nombre de macro; puede utilizarse un _ como separador de


palabras.

No puedes utilizar un nombre de macro que tambin sea una referencia de celda; de lo contrario
puede aparecer un mensaje indicando que el nombre de la macro no es vlido.

Llamemos a nuestra macro: Estilo_informe, y le indicaremos que nos lo guarde en Libro de macros
personal, as lo tendremos disponible en cualquier hoja de Excel que abramos.

Desde el momento en que pulsemos el botn Aceptar, Excel comenzar a grabar todas nuestras
acciones, que sern las que programen nuestra macro, as que vayamos con cuidado para no tener que
repetir acciones, o borrar la macro.

Sigamos estos pasos:

1. Le damos formato a la fecha, para que se muestre como ms te guste (si indicas que te muestre
el nombre, podrs identificar rpidamente los fines de semana).

2. Coloreamos la tabla a nuestro gusto. Yo diferencio das de la semana y fin de semana, para ver
grupos de das ms cmodamente. Tambin le pongo las celdas que no uso en color blanco para
darle un aspecto ms limpio pijadas personales.

3. Quitamos los 0 de los fines de semana para que el promedio nos salga correctamente.

4. Aadimos una nueva tablita, debajo de la grande, que sea resumen del nmero de ventas y el
promedio de ventas/da de cada vendedor. A la derecha de la tablita aadimos los totales. Como
el mes que hemos escogido es de 31 das, en el futuro no tendremos que mover la tabla, dado
que no habr meses de ms de 31 das.
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 25

5. Coloreamos esta tablita en el estilo de la tabla superior.

Hemos terminado, ahora le damos al botn Detener Macro, y listo.

Ahora, cada vez que queramos dar forma a nuestra tabla extrada del programa de los vendedores, lo
nico que tendremos que hacer ser dejar X filas vacas encima de los datos en relacin al da de la
semana con que empiece el mes, y llamar a nuestra macro para que haga su trabajo. Nos vamos a la
Pestaa Programador y le damos al botn de Macros, y escojemos la nuestra de la lista. Puede que
tengas que desplegar el men de Macros en:.

Si nos damos cuenta, lo nico que hemos hecho a mayores de la preparacin de nuestro informe ha sido
grabar una Macro que ha guardado todas las acciones que hemos hecho.

Cada uno le encontrar una utilidad diferente, y programar una macro diferente dependiendo de sus
necesidades, pero desde luego todos coincidirn en que es una herramienta imprescindible para el
ahorro de tiempo en las tareas ms rutinarias.

Podemos programar macros para eliminar contenido en un clic.

o Por ejemplo, si el programa de vendedores extrae las tablas perfectas, podemos


simplemente eliminar los 0 y aadir nuestra tabla resumen.

Podemos programar macros para dar un formato determinado.

Podemos programar macros para que nos creen grficos obteniendo datos de un rango
determinado.

Podemos asignar una macro a un botn o una imagen para no tener que buscarla en la Pestaa
Programador.

Podemos
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 26

Podemos hacer lo que todos queremos hacer hacer ms en menos tiempo, e invertir el restante en
cosas ms placenteras o productivas al fin y al cabo, la procrastinacin est ah para hacer uso de ella
de vez en cuando, no va a ser todo trabajar o estudiar, no?

Ejemplos de macros

En esta pgina iremos insertando macros y cdigos que pueden servirle de ayuda.

Macro para solicitar confirmacin de salir de Excel.

macro que solicita al usuario que confirme salir de Excel


Private Sub salir()
If msgbox(Desea salir de Excel?,vbQuestion+ vbYesNo)=vbYes Then
Application.quit

End If
End Sub

Macro para guardar archivo seleccionando ubicacin

Sub guardar_archivo()
Dim stArchivo
stArchivo = Application.GetOpenFilename(Hoja de Excel , *.xls*, _
, Seleccione archivo )

End Sub

Macro para guardar archivos en otro formato

Sub guardar_archivo_otro()
con esta macro guardamos el archivo con la fecha y hora actual y formato csv
Dim nombre, nombrearch, hoja, ruta
nombre = Format(Now, dd-mm-yy hh.mm.ss)
ruta = ActiveWorkbook.Path
nombrearch = ActiveWorkbook.Name
hoja = ActiveSheet.Name
ActiveWorkbook.SaveAs Filename:=ruta & \ & hoja & nombre & .csv, FileFormat:=xlCSV
ActiveSheet.SaveAs ruta & \ & nombrearch & nombre & .xlsm
End Sub

Copiar rango de una hoja a otra

Si queremos que se quiera copiar los rangos de la hoja activa de una hoja a otra ejecutariamos la macro
siguiente:

Option Explicit

Dim f, c

Public Sub CopiarRango()

ActiveCell.CurrentRegion.Select
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 27

f = ActiveCell.Row

c = ActiveCell.Column

Selection.Copy

Sheets(Hoja2).Activate

Cells(f, c).Activate

ActiveSheet.Paste

End Sub

Cerrar libro Excel (guardar cambios)

ActiveWorkbook.Close

ActiveWorkbook.Close Savechanges:=True

ActiveWorkbook.Close(True)

Cerrar libro Excel (sin guardar cambios)

ActiveWorkbook.Close(False)

ActiveWorkbook.Close Savechanges:=False

Cerrar libro Excel (variable, sin guardar cambios)

Application.DisplayAlerts = False Windows(Libro_mayor).Close Application.DisplayAlerts = True Abrir libro


Excel (ruta fija) Workbooks.Open FileName:=C:\Trabajo\Informe.xls

Desplazarnos a la ltima hoja del libro

Sub ultima_hoja()

Sheets(Sheets.Count).Select
End Sub

Desplazarnos a la primera hoja del libro

Sub primera_hoja()

Sheets(1).Select
End Sub

Copiar el contenido seleccionado en otra hoja

Sub CopiaColumnas()
Dim mirango As Range
Dim col As Range
Dim NuevaHoja As Worksheet
Dim i As Integer
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 28

Set mirango = Selection

Worksheets.Add
i=0
For Each col In mirango.Columns
col.Copy ActiveSheet.Range(A1).Offset(, i)
i=i+1
Next col

End Sub

Macro para crear ndices de hojas en libros

Private Sub Worksheet_Activate()

Dim cHoja As Worksheet

Dim L As Long

L=1

With Me

.Columns(1).ClearContents

.Cells(1, 1) = INDICE

.Cells(1, 1).Name = Indice

End With

For Each cHoja In Worksheets

If cHoja.Name <> Me.Name Then

L=L+1

With cHoja

.Range(A1).Name = Inicio & cHoja.Index

.Hyperlinks.Add Anchor:=.Range(A1), Address:= , SubAddress:=Indice, TextToDisplay:=Volver al


ndice

End With

Me.Hyperlinks.Add Anchor:=Me.Cells(L, 1), Address:= , SubAddress:=Inicio & cHoja.Index,


TextToDisplay:=cHoja.Name

End If

Next cHoja

End Sub
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 29

Macro para imprimir hoja activa con datos

Sub macro imprimir_ha()

Range(A1) = Lo que sea


Imprimimos la hoja de excel con una sola copia
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub

Buscar la ltima fila vaca

Sub ultimafila()
variable donde almacenamos el nmero de fila
Dim ultima As Long

vamos subiendo por la columna A desde la ltima fila


ultima = Range(A65536).End(xlUp).Row

le sumamos una porque queremos la 1 fila vaca


ultima = ultima + 1

seleccionamos si queremos otra columna cambiar el nmero


Cells(ultima, 1).Select

End Sub

Encontrar ltima fila (en columna especificada)

Dim intUltimaFila As Range

If WorksheetFunction.CountA(Columns(1)) > 0 Then


Set intUltimaFila = Range(65536).End(xlUp)
MsgBox intUltimaFila.Address
End If

Suprimir filas vacas

intLastRow = Columns(A:A).Range(A65536).End(xlUp).Row
For r = intLastRow To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r

Suprimir filas vacas

Dim intNumDeFilas As Long

Selection.SpecialCells(xlCellTypeLastCell).Select
intNumDeFilas = Selection.Row
For i = 1 To intNumDeFilas
If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete
OFIMATICA II | ARQ. VALERY OCHOA |AGOSTO 2017 30

End If
Next

Suprimir filas vacas

intUltimaFila = ActiveSheet.UsedRange.Row 1 + ActiveSheet.UsedRange.Rows.Count


For r = intUltimaFila To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r

Suprimir filas por condicin

Dim rngString As Range

Do
Set rngString = Cells.Find(Aglis, MatchCase:=False, _
LookAt:=xlPart, LookIn:=xlValues)
If Not rngString Is Nothing Then
rngString.EntireRow.Delete
End If
Loop Until rngString Is Nothing

Suprimir filas vacas por dos condicines X, Y

For i = intUltimaFila To 1 Step -1


Let strTest= Application.Cells(i, 2)
If strTest <> X And strTest <> Y Then Rows(i).Delete
Next i

Anda mungkin juga menyukai