Como Hacer una Macro en Excel

Una pequeña introducción
Cuando hablamos de una Macro en Excel nos referimos a un lenguaje de programación orientado a aplicaciones. En este caso particular, se utiliza VBA (Visual Basic for Applications) el cual es un lenguaje de programación desarrollado por Microsoft. Excel, al igual que los otros programas de Microsoft Office incluyen el lenguaje VBA. Imaginen un Robot que conoce todo sobre Excel. Este robot puede leer instrucciones y operar sobre Excel de manera rápida y precisa. Simplemente escribimos un lenguaje que este robot comprenda, para que luego el robot haga el trabajo sucio mientras nos relajamos y tomamos una limonada. Eso es justamente VBA. Un lenguaje en código para robots. Pero Ojo, Excel no viene ni con un robot ni con la limonada. =) La combinación entre la generación de un código VBA y su posterior ejecución en Excel es lo que se llama una Macro. A fin de cuentas una Macro es un programa el cual contiene un trozo de código de manera que podemos automatizar procesos que el realizarlos a mano nos pueden tomar mucho tiempo. La palabra Macro proviene del griego makros que significa grande-lo cual podría describir el tipo de pago que podrías recibir por convertirte en un experto en programación de Macros. Otra cosa que se debe tener en cuenta es que VBA no es lo mismo que VB (Visual Basic), ya que VB es un lenguaje de programación que permite crear programas auto ejecutables (conocidos como archivos EXE). A pesar de que VBA y VB tienen mucho en común, son dos cosas distintas. La idea de crear una Macro es la de automatizar tareas que son repetitivas o que deben ser desarrollas con frecuencia. Por ejemplo, preparar reportes mensuales de manera que todos los meses podrás presentarle a tu jefe reportes con un mismo formato. Él quedará impresionado por tu consistencia y la gran calidad de tu trabajo, e incluso te promoverá a un nuevo cargo al cual no estás capacitado!!

¡Comencemos!
Lo primero a realizar es hacer visible la lengüeta de “Programador”. Por defecto esta lengüeta viene oculta en Excel 2007.

Iremos a Inicio y daremos click en “Opciones de Excel”. .

Esto es muy parecido a la grabación de acciones que alguna vez cubrimos en un tutorial de Photoshop. Con ello la lengüeta “Programador” está visible y podemos comenzar a utilizar Macros en nuestro libro de Excel. que en este caso es la tercera opción.La primera opción es “Más Frecuente” y dentro de ella debemos marcar la opción de “Mostrar Ficha Programador en la cinta de Opciones”. Grabando una Macro . Lo que cubriremos en este instructivo es la grabación de Macros. Acá podemos observar como la hemos marcado.

En la lengüeta de programador damos click en “grabar Macro”. cualquier celda servirá. Con ello la grabación de la Macro comienza. Damos click en “Aceptar ”. por lo tanto todos los movimientos que realicemos dentro del libro de Excel serán grabados. en “Guardar macro en: " dejamos igual como está. En “Nombre de la macro” pondremos un nombre representativo (Ojo no puede llevar espacios por lo que si desean pueden usar guión bajo “_” para poner espacios entre palabras) . y en “Descripción” anotamos justamente una descripción de lo que hará la macro. Con ello nos aparece la ventana “Grabar Macro”. en mi caso utilizá la tecla Shift o Mayúscula más la tecla N).   Anotaremos nuestro nombre en una celda Hacemos click en la celda bajo el nombre y anotaremos la siguiente fórmula: =AHORA() Esta fórmula muestra la fecha y hora actual. en “método abreviado” pondremos una combinación de teclas como acceso directo (por defecto es CTRL +”algo ”.  Seleccionamos una celda.  Seleccionamos la celda que contiene la fórmula y la copiaremos (Con CTRL+C o en la lengüeta Inicio -> Copiar) .

Si damos Click en la flecha bajo el ícono verán que aparecen más opciones.   Seleccionamos ambas celdas. osea la celda con la fecha y la celda con el nombre. Esto convierte la fórmula a su valor correspondiente. . Aplicamos a ambas celdas un formato. por ejemplo “Negrita ” y en el tamaño de la letra ponemos “16”. Elegimos la opción “Pegar Valores”. En la lengüeta Inicio está el botón Pegar.

. Vamos a la lengüeta Programador y detenemos la grabación de la Macro con el botón respectivo.

. Seleccionamos la celda A1. Ahora solo nos falta correr la Macro y ver los resultados. Esta es una buena oportunidad para llamar a tu madre y contarle las buenas noticias. Para ello iremos a una nueva hoja de cálculo. En la lengüeta de Programador hacemos click en Macros con lo cual se nos abre la ventana que administra las Macros.¡Felicitaciones! Acabas de grabar tu primera Macro.

También si prefieren pueden seleccionar la celda A1 y simplemente utilizar la combinación de teclas que configuramos. en este caso Ctrl+Shift+N. . que en este caso es única y le damos click al botón ejecutar.Elegimos nuestra Macro.

copiarla. seleccionar ambas celdas y darles formato. Para ello podemos dar click en el botón “Visual Basic” d e la lengüeta Programador o utilizar la combinación de teclas ALT+F11. aplicar una fórmula. Con un simple click o combinación de teclas sin necesidad de anotar el nombre. Ahora analicemos el código o lenguaje que se ha grabado. pegarla.Como observarán se ha pegado la información y se le ha dado el formato de letra en negrita y tamaño 16. . Con ello se nos abre el editor de VBA.

.Damos click en el símbolo “+” de “Módulos” de manera de ampliar el árbol de módulos y con ello nos aparecerá “módulo 1” tal como se observa en la fotografía.

Font 'Con la seleccion antes hecha. Sub NombreyTiempo() ' NombreyTiempo Macro ' Esta Macro anota mi nombre y el tiempo ' Acceso directo: Ctrl+Mayús+N Range("A1"). En este caso para explicar el código dejaré comentarios en cada línea. espero que les haya gustado.ThemeColor = xlThemeColorLight1 . en este caso como Valor Range("A1:A2").Select 'Se selecciona la celda A2 ActiveCell.Copy 'La selección se copia Selection.Strikethrough = False 'los siguientes códigos representan otros parámetros que no son necesarios analizar .Con ello se abre el módulo y podemos obsevar el código que se ha generado. Bueno con esto me despido.ThemeFont = xlThemeFontMinor End With Selection.FormulaR1C1 = "Dexter" 'En ella se insertará Dexter Range("A2").Superscript = False . Operation:=xlNone.CutCopyMode = False 'Esta linea no hace nada en particular ya que no estamos ni copiando ni pegando With Selection.PasteSpecial Paste:=xlPasteValues.Bold = True 'Con la misma seleccion anterior (celdas A1 y A2).Underline = xlUnderlineStyleNone .Select 'Nuevamente seleccionamos la celda A2 Selection. este tutorial ha sido . correrlo y funcionará correctamente.Select 'Tomamos el Rango desde la celda A1 a la A2 Application. SkipBlanks _ :=False.Font.OutlineFont = False . entramos a la configuracion de fuentes . en este caso Calibri . Los comentarios se pueden anotar anteponiendo el símbolo de apóstrofe (’). aplicamos el formato de Negrita End Sub Este código lo pueden copiar y pegar en el editor de Macros de Excel.Subscript = False .TintAndShade = 0 . Y como siempre.Size = 16 'Se selecciona el tamaño de fuente. en este caso 16 .Select 'Se selecciona la celda A1 ActiveCell.FormulaR1C1 = "=NOW()" 'Se aplica la fórmula Ahora() que en VBA se anota por su nombre en inglés NOW() Range("A2"). Transpose:=False 'Se vuelve a pegar pero como pegado especial.Shadow = False .Name = "Calibri" 'Se selecciona el tipo de fuente.