Visual Basic - Funcion MaxIf() (Máximo condicional) para Excel

Life is soft - evento anual de software empresarial
   
Vista:

Funcion MaxIf() (Máximo condicional) para Excel

Publicado por Ismael (7 intervenciones) el 06/04/2017 23:11:55
1
2
3
4
5
6
7
8
9
10
11
12
13
Public Function MaxIf([Arg1] As Range, [Arg2] As Object, Optional [Arg3] As Range = Nothing) As Double
        Dim I As Long
        MaxIf = 0
        I = 0
        If [Arg3] Is Nothing Then [Arg3] = [Arg1]
        For Each R As Range In [Arg1]
            I = I + 1
            If CBool(WorksheetFunction.CountIf(R, [Arg2])) Then
                MaxIf = WorksheetFunction.Max(MaxIf, [Arg3](I))
            End If
        Next
        Return MaxIf
    End Function



Para llamar a la función, simplemente:

1
2
3
4
5
Dim resultado as Double
 
resultado = CDbl(MaxIf(RangoExcelaAplicarElCriterio, Criterio, RangoExcelDeDondeCalculaElMáximo-OPCIONAL-))
 
MessageBox.Show(CStr(resultado))
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder