Excel VBA - 用户定义函数 - 可变大小参数
Posted
技术标签:
【中文标题】Excel VBA - 用户定义函数 - 可变大小参数【英文标题】:Excel VBA - User Defined Function - Variable size parameters 【发布时间】:2014-11-25 00:34:17 【问题描述】:我正在尝试创建一个用户定义的函数来计算真实库存周数。该函数只有两个输入参数:总库存和每周预测数据。每周预测数据将排列成一行,用户可以选择输入。我希望它像 SUM 函数一样工作,用户可以用鼠标选择范围的参数大小,或者在输入过程中手动键入。我不知道如何做到这一点。一旦我在 UDF 中拥有数据,我就知道我想对它做什么,但我正在努力研究如何实际摄取我需要的数据。谁能指出我正确的方向?
【问题讨论】:
【参考方案1】:一个粗略的例子,但是在标准代码模块中放置这样的东西:
Public Function SumMyData(rngToSum As Range) As Double
Dim weeksOfCover As Double
weeksOfCover = 10.54
SumMyData = WorksheetFunction.Sum(rngToSum) * weeksOfCover
End Function
然后在你的工作簿中,使用=SumMyData(C3:C20)
【讨论】:
感谢您的帮助。如果我想单独处理范围内的每个单元格而不是总和怎么办?有没有办法将范围内的每个单元格加载到数组中? 您可以在 UDF 代码中使用For Each
循环,例如Dim rCell As Range : For Each rCell In rngToSum : '// Do Something : Next rCell
以上是关于Excel VBA - 用户定义函数 - 可变大小参数的主要内容,如果未能解决你的问题,请参考以下文章