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

modelo2-operaciones-matematicas-macros

Escrito por Administrador

19 de agosto de 2021

En esta quinta lección, vas a aprender a realizar operaciones matematicas en tus macros con VBA. 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. Para ello, 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

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

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

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

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

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

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

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. Finalmente, desear que te esté gustando el curso y que me plantees cualquier duda que te surja. También puedes proponerme macros que te interese desarrollar y las voy incluyendo en el temario, soy todo oídos. Nos vemos en el próximo capítulo.

Descarga el archivo del ejemplo

« L4. Seleccionar celdas y rangos en una macro.

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

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.

Quizá te interese,

Contacto