Lección 5: Operaciones matemáticas básicas en macros.

Escrito por Administrador

21 de septiembre de 2021

En esta quinta lección, vas a aprender a realizar operaciones matematicas en tus macros con VBA. Pero antes de continuar, te dejo un enlace sobre cómo configurar Microsoft Excel para el uso de macros, por si todavía no lo has hecho.

Ahora si, como el movimiento se demuestra andando, vamos a ver cómo se opera en VBA mediante un ejercicio práctico.

Abre un libro nuevo y rellena la hoja como te muestro a continuación.

modelo-operaciones-matematicas

Vamos a crear seis macros. Primero, inserta 6 módulos y pega cada una de ellas en uno de los módulos.

Las cuatro primeras contienen las operaciones básicas de suma, resta, multiplicación y división. La quinta contiene una combinación de las operaciones anteriores y la sexta un promedio.

 

Macro 1. Función suma.

Sub Leccion5_1()

'Macro que suma los valores de las celdas A5, A20 y A32 y escribe el resultado en H16

Cells(16, "H").Value = Cells(5, "A").Value + Cells(20, "A").Value + Cells(32, "A").Value

End Sub

Macro 2. Función resta.

Sub Leccion5_2()

'Macro que resta el valor calculado en la macro Leccion5_1 al valor de A32 y escribe el resultado en H18

Cells(18, "H").Value = Cells(16, "H").Value - Cells(32, "A").Value

End Sub

Macro 3. Función multiplicación.

Sub Leccion5_3()

'Macro que multiplica el valor calculado en la macro Leccion5_2 por el valor de A15 y resultado en H20

Cells(20, "H").Value = Cells(18, "H").Value * Cells(15, "A").Value

End Sub

Macro 4. Función división.

Sub Leccion5_4()

'Macro que divide el valor calculado en la macro Leccion5_3 por el valor de A25 y resultado en H22

Cells(22, "H").Value = Cells(20, "H").Value / Cells(25, "A").Value

End Sub

Macro 5. Operación combinada.

Sub Leccion5_5()

'Macro que hace [(Resultado1 + Resultado2) x Resultado3] / Resultado4, el resultado se escribe en H24

Cells(24, "H").Value = ((Cells(16, "H").Value + Cells(18, "H").Value) * Cells(20, "H")) / Cells(22, "H").Value

End Sub

Macro 6. Cálculo del promedio.

Sub Leccion5_6()

'Macro que calcula el promedio de los cinco primeros resultados, el resultado se escribe en H29

Cells(29, "H").Value = Application.WorksheetFunction.Average(Cells(16, "H"), Cells(18, "H"), Cells(20, "H"), Cells(22, "H"), Cells(24, "H"))

End Sub

Como ves, realizar las operaciones matematicas básicas con macros es bastante sencillo. En realidad, nos limitamos a sumar, restar, multiplicar y dividir celdas como si de números se tratase. Finalmente, debes tener en cuenta que la asignación del resultado siempre debe ser de derecha a izquierda:

Resultado = operaciones

Al contrario que en las cinco primeras macros,  la macro “Leccion5_6” usa un comando distinto, una fórmula específica para realizar promedios. He querido incluirla aquí para que te vayas familiarizando con este tipo de sentencias que veremos más adelante.

Application.WorksheetFunction.Average

A continuación, vamos a ejecutarlas. Para ello, crea seis botones y asocia una macro a cada uno de ellos. Debería quedarte algo así.

modelo2-operaciones-matematicas-macros

Seguidamente, ve ejecutando una a una.

resultados-operaciones-matematicas-macros

Por último, vamos a crear una sola macro donde se ejecuten todas las operaciones anteriores. En realidad, solo hay que ir agrupando los códigos de las mismas y asignando los resultados a variables intermedias.

 

Macro 7. Unión de todas las macros anteriores en una sola.

Sub Leccion5_7()

'Suma los valores de las celdas A5, A20 y A32 y escribe el resultado en la celda H16

Resultado1 = Cells(5, "A").Value + Cells(20, "A").Value + Cells(32, "A").Value

'Resta el valor calculado en la macro Leccion5_1 al valor de la celda A32 y escribe el resultado en H18

Resultado2 = Cells(16, "H").Value - Cells(32, "A").Value

'Multiplica el valor calculado en la macro Leccion5_2 por el valor de A15 y escribe el resultado en H20

Resultado3 = Cells(18, "H").Value * Cells(15, "A").Value

'Divide el valor calculado en la macro Leccion5_3 por el valor de A25 y escribe el resultado en la celda H22

Resultado4 = Cells(20, "H").Value / Cells(25, "A").Value

'[(Resultado1 + Resultado2) x Resultado3] / Resultado4, el resultado se escribe en H24

Resultado5 = ((Cells(16, "H").Value + Cells(18, "H").Value) * Cells(20, "H")) / Cells(22, "H").Value

'Calcula el promedio de los cinco primeros resultados, el resultado se escribe en H29

Cells(16, "Q").Value = Application.WorksheetFunction.Average(Resultado1, Resultado2, Resultado3, Resultado4, Resultado5)

End Sub

A continuación, crea un botón, asígnale la macro y ejecútala. Debe quedarte algo así.

total-operaciones-matematicas-macros

Como resultado, hoy has aprendido a realizar operaciones matematicas con macros de una manera fácil. También, vas viendo como cogen forma las macros y el potencial que esconden. Poquito a poco.

Con esto llegamos al final de la quinta lección.

Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.

Nos vemos en el próximo capítulo.

Si te ha servido y quieres donar

Descarga el archivo del ejemplo

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

« L4. Seleccionar celdas y rangos en una macro.

L6. Copiar, pegar y borrar celdas con macros. »

Categorías

abril 2024
LMXJVSD
1234567
891011121314
15161718192021
22232425262728
2930 

Debates en el foro

Avatar
Formularios con ADO

Contacto