Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

WORKSHEETFUNCTION.MAX para el promedio de notas

| 32 comentarios

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:

lista promedios

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:

vba promedios

(Para mayor visualización de la imagen, hacer click en la misma)

3. Finalmente se obtiene este resultado mediante un mensaje:

resultado final promedios

 

Autor: Melissa Alarcón

32 comentarios

  1. 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.

  2. 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.

  3. Modifique los datos y la macro seguía mencionando la nota mas alta.

    Saludos cordiales.

  4. Buenas tades,

    Cuando utilizo el código "=MAX(R[-9]C[-2]:R[22]C[-2])" ¿a que se refiere?.

  5. 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".

  6. 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

    • Hola Christian Cornejo

      En "x1Down" en lugar de usar "uno" usa "ele"

      Saludos

  7. 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.

Página de comentarios 2 de 2
1 2

Deja una respuesta

Los campos requeridos estan marcados con *.