Você está na página 1de 13

omo Hacer una Macro en Excel

Publicado por Dexter en Computacion, Excel, Programacion el 03 Junio 2010 | 41 Comentarios

Actualmente me encuentro realizando mi tercera prctica profesional en la cual me han dado como tarea la de realizar un resumen anual de unos servicios de enlaces de internet y telefona IP. Al ser anual estamos hablando de al menos unos 4000, si cuatro mil, datos en Excel, los cuales se deben filtrar, ordenar y hacer clculos respectivos. Para que este proceso no se haga tan tedioso es que he recurrido a una herramienta que muchos han escuchado pero creo estar en la razn al decir que pocos saben utilizar. Estamos hablando de las Macros.

Una pequea introduccin


Cuando hablamos de una Macro en Excel nos referimos a un lenguaje de programacin orientado a aplicaciones. En este caso particular, se utiliza VBA (Visual Basic forApplications el cual es un lenguaje ) de programacin 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 rpida 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 cdigo para robots. Pero Ojo, Excel no viene ni con un robot ni con la limonada. =)

La combinacin entre la generacin de un cdigo VBA y su posterior ejecucin en Excel es lo que se llama una Macro. A fin de cuentas una Macro es un programa el cual contiene un trozo de cdigo 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 podra describir el tipo de pago que podras recibir por convertirte en un experto en programacin 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 programacin que permite crear programas auto ejecutables (conocidos como archivos EXE). A pesar de que VBA y VB tienen mucho en comn, 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 podrs 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 ests capacitado!!

Comencemos!
Lo primero a realizar es hacer visible la lengeta de Programador. Por defecto esta lengeta viene oculta en Excel 2007.

Iremos a Inicio y daremos click en Opciones de Excel.

La primera opcin es Ms Frecuente y dentro de ella debemos marcar la opcin de Mostrar Ficha Programador en la cinta de Opciones.

Ac podemos observar como la hemos marcado, que en este caso es la tercera opcin.

Con ello la lengeta Programador est visible y podemos comenzar a utilizar Macros en nuestro libro de Excel. Lo que cubriremos en este instructivo es la grabacin de Macros. Esto es muy parecido a la grabacin de acciones que alguna vez cubrimos en un tutorial de Photoshop.

Grabando na

y y

acro

acro.

S l ccionamos na celda; cual uier celda servir. En la lengeta de rogramador damos click en grabar

que si desean pueden usar guin bajo _ para poner espacios entre palabras), en mtodo abreviado pondremos una combinaci n de teclas como acceso directo (por defecto es CTRL +algo , en mi caso utiliz la tecla Shift o Mayscula ms la tecla N), en Guardar macro en: dejamos igual como est, en Descripcin anotamos justamente una descripci n de lo ue ar la macro. amos click en Acep ar . on ello la grabaci n de la

acro comienza, por lo tanto todos los

movimientos ue realicemos dentro del libro de E cel sern grabados.

Esta f rmula muestra la fecha

hora actual.

Seleccionamos la celda ue contiene la f rmula Inicio -> Copiar)

la copiaremos (Con CTRL+C o en la lengeta

#"

y y

Anotaremos nuestro nombre en una celda Hacemos click en la celda bajo el nombre anotaremos la siguiente f rmula: AH

En Nombre

e la macro pondremos un nombre representativo (Ojo no puede llevar espacios por lo

on ello nos aparece la ventana Grabar

acro.

En la lengeta Inicio est el botn Pegar. Si damos Click en la flecha bajo el cono vern que aparecen ms opciones. Elegimos la opcin Pegar Valores.

Esto convierte la frmula a su valor correspondiente.

y y

Seleccionamos ambas celdas, osea la celda con la fecha y la celda con el nombre. Aplicamos a ambas celdas un formato, por ejemplo Negrita y en el tamao de la letra ponemos 16.

Vamos a la lengeta Programador y detenemos la grabacin de la Macro con el botn respectivo.

Felicitaciones! Acabas de grabar tu primera Macro. Esta es una buena oportunidad para llamar a tu madre y contarle las buenas noticias.

Ahora solo nos falta correr la Macro y ver los resultados. Para ello iremos a una nueva hoja de clculo. Seleccionamos la celda A1.

En la lengeta de Programador hacemos click en Macros con lo cual se nos abre la ventana que administra las Macros.

Elegimos nuestra Macro, que en este caso es nica y le damos click al botn ejecutar. Tambin si prefieren pueden seleccionar la celda A1 y simplemente utilizar la combinacin de teclas que configuramos, en este caso Ctrl+Shift+N.

Como observarn se ha pegado la informacin y se le ha dado el formato de letra en negrita y tamao 16. Con un simple click o combinacin de teclas sin necesidad de anotar el nombre, aplicar una frmula, copiarla, pegarla, seleccionar ambas celdas y darles formato. Ahora analicemos el cdigo o lenguaje que se ha grabado. Para ello podemos dar click en el botn Visual Basic de la lengeta Programador o utilizar la combinacin de teclas ALT+F11.

Con ello se nos abre el editor de VBA.

Damos click en el smbolo + de Mdulos de manera de ampliar el rbol de mdulos y con ello nos aparecer mdulo 1 tal como se observa en la fotografa.

Con ello se abre el mdulo y podemos obsevar el cdigo que se ha generado.

&

&

&

Los comentarios se pueden anotar anteponiendo el smbolo de apstrofe (). En este caso para explicar el cdigo dejar comentarios en cada lnea. Sub NombreyTiempo() NombreyTiempo Macro Esta Macro anota mi nombre y el tiempo Acceso directo: Ctrl+Mays+N Range( A1 ).Select Se selecciona la celda A1 ActiveCell.FormulaR1C1 = Dexter En ella se insertar Dexter Range( A2 ).Select Se selecciona la celda A2 ActiveCell.FormulaR1C1 = =NOW() Se aplica la frmula Ahora() que en VBA se anota por su nombre en ingls NOW() Range( A2 ).Select Nuevamente seleccionamos la celda A2 Selection.Copy La seleccin se copia Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Se vuelve a pegar pero como pegado especial, en este caso como Valor Range( A1:A2 ).Select Tomamos el Rango desde la celda A1 a la A2 Application.CutCopyMode = False Esta linea no hace nada en particular ya que no estamos ni copiando ni pegando WithSelection.Font Con la seleccion antes hecha, entramos a la configuracion de fuentes .Name = Calibri Se selecciona el tipo de fuente, en este caso Calibri .Size = 16 Se selecciona el tamao de fuente, en este caso 16 .Strikethrough = False los siguientes cdigos representan otros parmetros que no son necesarios analizar .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False

' '

'

' ' ' '

.Underline = xlUnderlineStyleNone .ThemeColor = xlThemeColorLight1 .TintAndShade = 0 .ThemeFont = xlThemeFontMinor EndWith Selection.Font.Bold = True Con la misma seleccion anterior (celdas A1 y A2), aplicamos el formato de Negrita End Sub Este cdigo lo pueden copiar y pegar en el editor de Macros de Excel, correrlo y funcionar correctamente. Bueno con esto me despido, espero que les haya gustado. Y como siempre, este tutorial ha sido

Feli es royectos!!!!! Para cualquier consulta no duden en escribirnos. Estaremos felices de responderles y ayudarles en todo lo posible. Cmo Lo Hago, si se puede, te lo enseamos. Staff CLH

Tutoriales relacionados:

Você também pode gostar