La función WorksheetFunction.Max nos indica el máximo número que se encuentra en un rango definido. A pesar de que las funciones de tipo WorksheetFunction no son propias del lenguaje VBA, se puede trabajar con las mismas en este lenguaje usando: application.worksheetfunction.””.
Descargar Ejemplo de WORKSHEETFUNCTION.MAX
A continuación presento un ejemplo simple para entender el uso de esta función:
1. En una lista de notas de una clase, lo que se quiere hacer es encontrar la máxima nota y publicarla mediante un mensaje de aviso, para que de esta manera el profesor sepa cómo va el promedio de notas en su curso. La lista es la siguiente:
2.Para logar esto, primero definimos las variables que se van a usar y luego se aplica la formula applitacion.worksheefunction.max para indicar la nota máxima. Debo de indicar que debido a que no se sabe la cantidad de alumnos por ciclo, se realiza una lectura de las filas ocupadas como se muestra a continuación:
(Para mayor visualización de la imagen, hacer click en la misma)
3. Finalmente se obtiene este resultado mediante un mensaje:
Autor: Melissa Alarcón
03/09/2014 a las 11:06 am
Creo q se define max como variant porque va utilizarse en varias celdas distintas, en tanto se define fin como entero xq hasta la ultima fila q tenga contenido.
03/09/2014 a las 11:19 am
Creo que a max se pone variant porque se evaluará a varias celdas con dicha función, en tanto que fin va ser la última fila q tenga contenido.
04/09/2014 a las 4:12 pm
Modifique los datos y la macro seguía mencionando la nota mas alta.
Saludos cordiales.
04/09/2014 a las 6:09 pm
Buenas tades,
Cuando utilizo el código "=MAX(R[-9]C[-2]:R[22]C[-2])" ¿a que se refiere?.
05/09/2014 a las 7:06 pm
Esta función WORKSHEETFUNCTION.MAX me pareció muy interesante, al ser muy amigable especialmente para bases de datos enormes, no sólo para notas sino para todo tipo de archivos de tipo base de datos en los que se pueda evaluar un máximo. Me pregunto si algo similar es posible hacer para mínimos, promedios, desviación estándar y otros parámetros estadísticos, seguro que sí. Me queda la duda de los detalles, sobre el uso de "Variant" y "integer".
06/09/2014 a las 11:50 pm
Cuando copie la rutina indicada en esta página VBA envió
"Se ha producido el error 1004 en el tiempo de ejecución" en la línea siguiente:
fin = Cells(Rows.Count, 3).End(x1Down).Row
Tal vez podrían despejar mi duda
Gracias
08/09/2014 a las 11:00 am
Hola Christian Cornejo
En "x1Down" en lugar de usar "uno" usa "ele"
Saludos
15/03/2021 a las 12:26 am
Si lo quiero usar con criterios como sería el código. Por ejemplo: la máxima nota de todos los CODIGO SII que su último dígito tengan el mismo numero.