Lección 19: Identificar máximo y mínimo de un rango. Función max y min en Excel.

Escrito por Administrador

7 de septiembre de 2021

En esta lección vas a aprender cómo identificar el valor máximo y mínimo de un rango de números de una manera muy sencilla, usando la función MAX y MIN en Excel.

Como sabes, existen una serie de funciones ya desarrolladas “de serie” en VBA. Es más, ya hemos visto alguna y hoy vamos a ver dos más, una para calcular el máximo y otra para calcular el mínimo de un rango de números.

1. Application.max(Range). Máximo valor de un rango.

Application.max(Range("D5:D20"))

2. Application.min(Range). Mínimo valor de un rango.

Application.min(Range("D5:D20"))

Como ves es muy fácil, tan solo tienes que llamar a la función, le dices el rango de números y ya está. Por lo tanto, siempre que puedas, usa funciones, tanto por comodidad como por optimización de código.

A continuación, vamos a poner algún ejemplo para verle utilidad al invento.

En primer lugar, crea un nuevo libro, abre el editor VBA e inserta 2 módulos. Después, copia en ellos las siguientes macros.

Macro 1. Identificar el máximo de un rango de celdas.

Sub Leccion19_1()

'Macro que identifica al alumno con mejor nota y lo marca en azul

'Guardamos en la variable mejornota el máximo del rango C2-C12

mejornota = Application.Max(Range("D2:D12"))                                        

For i = 2 To 12

'Si la nota coincide con la mejor nota, entonces

If Cells(i, "D").Value = mejornota Then                                           

'Colorea de azul el nombre, apellido y nota       

Range(Cells(i, "B"), Cells(i, "D")).Interior.Color = RGB(90, 138, 198)     

End If

Next

End Sub

Macro 2. Identificar el mínimo de un rango de celdas.

Sub Leccion19_2()

'Macro que identifica al alumno con peor nota y lo marca en rojo

'Guardamos en la variable peornota el mínimo del rango C2-C12

peornota = Application.Min(Range("D2:D12"))                                                           

For i = 2 To 12

'Si la nota coincide con la mejor nota, entonces

If Cells(i, "D").Value = peornota Then

'Colorea de azul el nombre, apellido y nota                                                                 

Range(Cells(i, "B"), Cells(i, "D")).Interior.Color = RGB(248, 105, 107)                   

End If

Next

End Sub

Macro 3. Restablecer la hoja de cálculo.

Sub Leccion19_3()

'Macro que restablece la hoja de cálculo

'Quita el color de fondo del rango

Range("B2:D12").Interior.Color = RGB(255, 255, 255)        

'Estos tres comandos reestablecen la cuadrícula de la hoja excel                           

Range("B2:D12").Interior.Pattern = xlNone

'Estos tres comandos reestablecen la cuadrícula de la hoja excel                                                        

Range("B2:D12").Interior.TintAndShade = 0     

'Estos tres comandos reestablecen la cuadrícula de la hoja excel                                                         

Range("B2:D12").Interior.PatternTintAndShade = 0                                    

End Sub

En segundo lugar, rellena la hoja tal y como se muestra en la figura. Para ello, tendrás que crear 3 botones y asignarles las macros anteriores.

A continuación, te dejo dos enlaces donde explico cómo configurar Microsoft Excel para el uso de macros y cómo asignar macros a botones, por si te interesan.

total-operaciones-matematicas-macros

Como resultado, la primera de las macros va a localizar al alumno que tiene la mejor nota (o alumnos si hay varios que comparten la máxima nota).

En primer lugar, con la función MAX de Excel, buscamos cual es el valor máximo del rango de notas. A continuación, usando un bucle FOR localizamos las celdas con ese valor máximo y cuando las localizamos marcamos en azul el nombre, apellidos y nota del alumno en cuestión.

total-operaciones-matematicas-macros

La segunda macro funciona igual que la primera, pero buscando el mínimo de las notas con el uso de la función MIN. Así, va a marcar de rojo el nombre, apellidos y nota del alumno o alumnos con dicha nota.

total-operaciones-matematicas-macros

Finalmente, la tercera de las macros restablece la hoja de cálculo para limpiarla y poder volver a ejecutar las macros anteriores.

Con esto llegamos al final de la decimonovena lección, en la que has aprendido a usar la función MAX y MIN de Excel para identificar el máximo y mínimo valor de un rango de celdas.

Sobre todo, me interesa que te quedes con la idea de que utilizar funciones va a optimizar nuestro código, además de hacernos la vida más fácil. También te digo que a veces no cubren todas nuestras necesidades y es necesario desarrollar algo a medida que cumpla la funcionalidad que estamos buscando.

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.

« L18. Función GoTo en VBA.

L20. Funciones ScrollRow y ScrollColumn en VBA. »

Categorías

abril 2024
LMXJVSD
1234567
891011121314
15161718192021
22232425262728
2930 

Debates en el foro

Avatar
Buscar Datos en Columnas
Avatar
Formularios con ADO

Contacto