planillero.cl - Bienvenidos al Blog de planillero.cl

Como crear tu primera macro en Excel

by Mikeplan 4. January 2010 14:37

Nuestros clientes acuden a nosotros para buscar soluciones a sus problemas de tareas repetitivas y para automatizar sus planillas Excel vía macros.
Muchas de las macros que realizamos son algo complejas para alguien que recién se está iniciando en esto. Pero hay otras macros que son muy fáciles de crear y que los pueden sacar de apuros.

Por lo tanto hoy explicaremos como crear una macro muy básica en Excel, pero primero ¿que es una macro?



Las macros en Excel corresponden a escribir un “mini-programa” en lenguaje VBA (Visual Basic for Applications) utilizando los objetos de Excel como lo son hojas, celdas, gráficos, etc...
Por lo tanto si sabes algo del lenguaje Visual Basic es muy fácil comenzar a programar macros; sólo tienes que aprendar como se manejan los objetos Excel con VBA.

En resumen las macros permiten:

- Automatizar trabajo manual y tedioso con 1 solo click.
- Crear nuevas funciones personalizadas para poder realizar cálculos o procesos propios de tu empresa, negocio, o necesidad específica.
- Automatizar la creación de cualquier tipo de gráfico, tabla dinámica, etc..

Esto te permite crear aplicaciones en Excel optimizadas y automáticas; lo que se traduce en planillas muy profesionales y fácil de utilizar.

Como ejemplo crearemos una macro que permite tomar 2 valores de una planilla; y por medio de 1 sólo click sumar estos valores en una tercera planila. El ejemplo es sumamante básico pero les ayudará a comprender como usar el editor VBA que viene incorporado en Excel.

Los pasos son los siguientes:

1.- En Excel ir a  “Herramientas –> Macro –> Grabar nueva macro”. Con esto les aparecerá la siguiente pantalla:

 



Aquí le colocan un nombre personalizado (MacroSuma en el ejemplo). Luego presionan “Aceptar”.
A partir de este momento todo lo que hagan en la hoja de Excel quedará grabado en la macro.


2.- Vayan a la celda A1 y coloquen un número cualquier (ej: 5)
3.- Vayan a la celda A2 y coloquen otro número (ej:10).
4.- En la celda A4 sumen los datos como “=A1+A2”. Con esto en la celda A4 quedará el valor 15.
5.-Ahora hay que parar la grabación de la macro Para esto vayan a “Herramientas –> Macro –> Detener grabación” o presionen el bóton que se abrió cuando empezar a grabar la nueva macro:



6.- Para comprobar si la macro funciona, borren la suma realizada en la celda A4.
Luego corran la macro. Vayan a “Herramientas –> Macro –> Macros” y elijan la macro recién creada “MacroSuma” en este ejemplo. Luego presionen botón “Ejecutar”.
7.- Al correr la macro comprobarán, que automáticamente hace la suma que grabamos en pasos anteriores.
8.- Si lo desean puede ver el código en VBA que generó el editor. Para esto vayan a Vayan a “Herramientas –> Macro –> Macros” y presionen el botón “Modificar”.
Con esto verán el código generado:



El código aquí generado hace uso de los objetos particulares de Excel. Hay otra forma más fácil de refererise a las celdas y es mediante el objeto “Cells”.
Por ejemplo en vez de utilizar “ActiveCell.FormulaR1C1=”5”, podrían utilizar
Cells(1,1)=5  (notación fila/columna).

Este código a su vez se puede modificar desde aquí y le pueden agregar instrucciones en Visual Basic como ciclos (For, Do, ForEach, etc..) y agregar condiciones como If..Then..Else, While, etc..).

Espero les sirva para iniciarse en este mundillo de las macros en Excel.

Cualquier duda o planilla en que los podamos ayudar favor contáctenos

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Macros Útiles

Utilizar funciones personalizadas en Excel

by Mikeplan 31. August 2009 20:32

Hay veces en que las fórmulas que vienen por defecto en Excel no nos ayudan para resolver un problema en particular y por lo tanto debemos hacer uso de combinaciones de fórmulas para realizar el cálculo deseado. Es entonces aquí donde es especialmente útil poder crear nuestras propias funciones personalizadas. La gracia de esto es que las funciones las podemos seguir utilizando si es que grabamos la macro en el "Libro de macros personal".

Los pasos para crear una función son los siguientes:

- Crear una macro en Menú Herramientas --> Macro --> Editor de Visual Basic

planillero.cl - Crear Macro en Excel

 

- Luego hay que posarse sobre el elemento "VBAProject (PERSONAL.XLS)", presionar botón derecho y elegir insertar Módulo en Visual Basic. Al realizar esto la macro quedará guardada en el "Libro de macros personal", de forma que quede disponible para cualquier otra planilla que deseemos crear dentro del mismo PC.

planillero.cl - Insertar módulo en Excel


Nota: Si se utilizan macros de esta forma estas quedarán disponible sólo para el PC en donde se crearon las macros y por lo tanto se pueden reutilizar en otros proyectos.
Si lo que desean es que las macros estén sólo en la planilla Excel que están creando, de forma de poder distribuirla, entonces el módulo debe crearse en el proyecto de la planilla y no en PERSONAL.XLS.


- A continuación se debe crear la función personalizada. Las funciones en Visual Basic se llaman "Function" y pueden recibir parámetros.

 En el siguiente ejemplo crearemos una función que permite calcular el Volumen de un Cilindro recibiendo como parámetro el radio y la altura:

 ****************************************************************************

Function volumen(ByVal radio As Double, ByVal altura As Double)
Dim area As Double

' Primero calculamos el área del círculo.
' Aquí utilizamos la función "Application.Pi()" para obtener el número PI

area = Application.Pi() * radio ^ 2
volumen = area * altura

End Function

*****************************************************************************

- Luego esta función la podemos utilizar fácilmente en la hoja de Excel. Esta función recibe como parámetro el radio de la circunferencia y una altura. En la hoja Excel esto se ve así:

planillero.cl - Función personalizada en Excel

Si se fijan llamamos a la función volumen, especificando los parámetros de Radio (celda A2) y Altura (celda B2). Con esto en la celda C2 obtenemos el volumen mediante nuestra fórmula personalizada.
Luego basta con copiar la fórmula hacia abajo para hacer el cálculo en las filas inferiores.

 

Esperamos que esto les sirva y que pueden crear sus propias fórmulas personalizadas que sin duda los ayudarán a resolver problemas más facilmente.

Más adelante postearemos funciones útiles que nos han servido en los proyectos que desarrollamos.

Saludos,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Macros Útiles

Macros útiles para principiantes

by Mikeplan 23. March 2009 22:05

Siguiendo con las macros útiles aquí les dejo algunas macros para principiantes en código VBA:


Macro Nº1: Posición de una Celda

A veces necesitamos conocer la posición actual de una celda. El código es el siguiente:

*****************************************************
Sub PosicionCelda()
Fila = ActiveCell.Row
Columna = ActiveCell.Column
Msgbox  Fila & "," & Columna
End Sub
*****************************************************

Macro Nº2: Eliminar Filas Vacías

Esta macro permite eliminar filas en un rango seleccionado. Esta es muy útil para evitar realizar el trabajo “a mano”. Basta con seleccionar el rango (pintar dentro de un rango de datos lo que queremos eliminar) y listo!

*****************************************************
Sub BorrarFilas()
Rng = Selection.Rows.Count
ActiveCell.Offset(0, 0).Select
For i = 1 To Rng
If ActiveCell.Value = "" Then  
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Next i
End Sub
*****************************************************

Macro Nº3: Insertar Filas a elección

En esta macro aparecerá un mini formulario que nos preguntará cuantas filas queremos insertar de forma consecutiva.

*****************************************************
Sub InsertaFilas()
Dim Rng
Rng = InputBox("Inserte número de filas que necesita.")
Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(Rng - 1, 0)).Select
Selection.EntireRow.Insert
End Sub
*****************************************************

Espero les sirvan.

Para más información sobre servicios de optimización mediante el uso de macros en Excel (VBA), por favor contáctenos

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Macros Útiles

Powered by BlogEngine.NET 1.4.5.0