cap*_*tle 9 excel vba excel-vba
而不是通过名称显式访问所有参数,有没有办法从函数内以编程方式获取函数参数列表?
所以对于这个函数签名:
Function doSomething(Arg1 as String, Arg2 as Range, Optional Arg3 as String):
Run Code Online (Sandbox Code Playgroud)
理想情况下,是否存在包含参数名称及其元数据(类型,可选,默认值等)的对象?例如,Me.Arguments此函数中的代码将生成如下字典:
{
"Arg1": {
"Type": String,
"Optional": False,
"Default": Nothing
},
"Arg2": {
"Type": Range,
"Optional": False,
"Default": Nothing
},
"Arg1": {
"Type": String,
"Optional": True,
"Default": Nothing
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
小智 3
你可能会考虑
Application.Caller获取对包含公式的单元格的引用,然后使用该单元格的.Formula属性将公式获取为文本。当我想将 3D 范围作为参数传递给 UDF 时,我这样做了(这样我就可以制作一套像COUNTIF和SUMIF一样适用于 3D 范围的函数Sheet1:Sheet99!$A$1:$A$1000)。我发现当 3D 范围内的值发生更改时,UDF 将被触发 - 但只要我需要对接收 UDF 中的 3D 范围的变体执行任何操作,UDF 就会出现运行时错误。我的解决方法如第一段中所述 - 获取公式并解析它以获取文本形式的 3D 范围。
我尝试将代码作为块插入,但受到格式要求的阻碍。这是在我的 SkyDrive上使用它的工作簿
| 归档时间: |
|
| 查看次数: |
1037 次 |
| 最近记录: |