excel - Excel 如何将 Worksheetfunction 定义为“全局”对象,以便任何函数都可以通过简单别名访问它
问题描述
目前,每当我想在函数中调用工作表函数时,例如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
推荐阅读
- java - 为多个 DBMS 和多个配置文件配置 Spring Boot
- python - 为什么函数在 Python 输出中返回 None
- python - |= 不支持的操作数类型:“列表”和“列表”
- python-3.x - 从 Pandas DataFrames 中理解密度图
- javascript - 如何在创建时将 onclick 设置为动态按钮并对应于正确的索引
- objective-c - Xcode 11.5 给出“无法执行支持代码来读取 Objective-C 类数据”
- c# - IHttpClientFactory 并更改基础 HttpClient.BaseAddress
- bash - 如果将别名命令通过管道传送到 bash,则无法识别别名
- c++ - 有一个小问题,只是用 C++ 和 GLADE 显示图像
- css - Blazor 动画 - 将 div 设置为显示:动画结束后无