如何使用不同的功能输入功能?

时间:2016-10-12 10:29:24

标签: vba excel-vba excel

我有一个提供许多值的过程,我需要将这些值的最大值和最小值返回到单独的单元格。

我的程序在为max和min定义两个不同的函数之后,执行相同的程序!!

有更好的方法吗?

Function Pmax(P, Mx, My, b, d, b1, d1, ex, ey)
P1 = (---------)
P2 = (---------)
P3 = (---------)
P4 = (---------)
Pmax = Application.WorksheetFunction.Max(P1, P2, P3, P4)
End Function
Function Pmin(P, Mx, My, b, d, b1, d1, ex, ey)
P1 = (--------)
P2 = (--------)
P3 = (--------)
P4 = (--------)
Pmin = Application.WorksheetFunction.Min(P1, P2, P3, P4)
End Function

2 个答案:

答案 0 :(得分:2)

Function Pminmax(P, Mx, My, b, d, b1, d1, ex, ey)
    P1 = (---------)
    P2 = (---------)
    P3 = (---------)
    P4 = (---------)
    dim a(1 to 2,1 to 1)
    a(1,1) = Application.WorksheetFunction.Max(P1, P2, P3, P4)
    a(2,1) = Application.WorksheetFunction.Min(P1, P2, P3, P4)
    Pminmax=a
End Function

在excel中:选择2个单元格,公式,ctrl + shift + enter

答案 1 :(得分:0)

你可以定义一个Pn函数,它返回一个P值的数组

Function Pn(P, Mx, My, b, d, b1, d1, ex, ey)
    P1 = '(---------)
    P2 = '(---------)
    P3 = '(---------)
    P4 = '(---------)

    Pn = Array(P1, P2, P3, P4)
End Function

然后在Pmin()Pmax()函数

中使用它
Function Pmax(P, Mx, My, b, d, b1, d1, ex, ey)
    Pmax = Application.WorksheetFunction.Max(Pn(P, Mx, My, b, d, b1, d1, ex, ey))
End Function

Function Pmin(P, Mx, My, b, d, b1, d1, ex, ey)
    Pmin = Application.WorksheetFunction.Min(Pn(P, Mx, My, b, d, b1, d1, ex, ey))
End Function