Excel 如何将工作表函数定义为"global"对象,以便任何函数都可以通过简单的别名访问它



当前我想在函数内调用工作表函数,例如LN, NORMDIST我必须写

之类的东西
    Function f()
    Dim wsf 
    Set wsf = Application.WorksheetFunction
    'only then can I call them by wsf.func, like
    Dim v
    v = wsf.Ln(2.0)   'Natural log of 2
    f = v
    End Function

这看起来很乏味。是否可以在全球或模块范围内定义WorksheetFunction对象,以便该模块内的任何功能都可以直接调用?

(老实说,我发现必须通过WorksheetFunction对象访问许多内置功能的整个想法确实很烦人(

这将是一件奇怪的事情(即, With … EndWith块将是调用多个函数而无需重复关键字的通常方式(。

理论上,可以这样做:

Option Explicit
Private wsf As WorksheetFunction
Public Sub Test()       
    Set wsf = Application.WorksheetFunction
    Debug.Print wsf.Sum(1, 2, 3)
    Debug.Print wsf.Average(1, 2, 3)        
End Sub

相关内容

  • 没有找到相关文章

最新更新