代码之家  ›  专栏  ›  技术社区  ›  henz

要作为范围和变量传递的UDF输入

  •  0
  • henz  · 技术社区  · 3 年前

    我用这个例子来帮助我理解输入。。。 在编写UDF时,我希望函数既处理和范围,也处理单个值,例如:=SurfaceAreaCuboid(A1:A3)和=SurfaceAreaCuboid(A1,A2,A3)。这是怎么做到的?

    Function SurfaceAreaCuboid(a, b, c) As Variant
        SurfaceAreaCuboid = 2 * ((a * b) + (a * c) + (b * c))
    End Function
    

    ParamArray适用于此吗?

    在这种情况下,这有什么问题:

    Function SurfaceAreaCuboid(ParamArray r() As Variant) As Variant
    
        a = r.Value(1)
        b = r.Value(2)
        c = r.Value(3)
    
    SurfaceAreaCuboid = 2 * ((a * b) + (a * c) + (b * c))
    
    End Function
    
    0 回复  |  直到 3 年前