excel - 将 Excel 数组常量传递给 VBA 函数

标签 excel vba

我有一个单元格,其值为数组常量, 例如单元格 A1 设置为 ={1,2,3,4,5,6}

然后我在 VBA 中定义了一个函数:

Function MyFunc(Data)
MyFunc = Data.Rows.Count
End Function

当我可以 =MyFunc(A1) 时,我希望函数返回数组的长度 (6),但是使用调试器,我发现我的函数接收的“Data”变量仅包含该数组的第一个元素。 Data.Rows.Count 计算结果为 1,TypeName(Data) 计算结果为“Range”

最佳答案

另一种方法:

Function myFunc(Data)
    myFunc = UBound(Evaluate(Data.Formula))
End Function

关于excel - 将 Excel 数组常量传递给 VBA 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56672623/

相关文章:

excel - 如何将列中的文本连接到新列中? VBA Excel

c# - 找不到 Microsoft.Office.Interop.Excel,请帮助我

excel - 将源工作表复制到源工作表名称更改的另一个工作簿

vba - Application.OnTime 的多个变量参数

Excel 新数据类型

excel - 动态生成数据验证列表的年份数组Excel VBA

vba - 过滤表后范围类的删除方法失败

excel - 在列中查找唯一值并使用 VBA 代码将它们连接到一个单元格中(从开头和结尾删除空白以避免重复)

excel - =像 Google 电子表格中的 Excel 过滤器功能?

vba - 无法使用 ADO 从 CSV 读取数据,因为驱动程序认为我正在使用整数/数字并显示空值而不是文本