有人可以帮我创建一个可以处理无限数量的不同范围的函数吗?我在参数列表中尝试过“Paramarray variables() as Variant”和“variable as Range”,但它们都没有提供我正在寻找的多功能性。
关键是我希望我的函数能够同时处理诸如“MyFunc(A1:A10, B1)”或“MyFunc(A1, B1:10, C11)”之类的事情。我发现的问题是“ParamArray”只能处理逗号分隔的输入,而“变量作为范围”只能处理非逗号分隔的输入。
基本上,我希望拥有与 SUM() 函数相同的功能。SUM 可以处理无限(某种)数量的输入,无论它们是用逗号分隔还是在一个范围内。
根据要求,这是我的代码:
Function COMMA_DELIMITER(inputs as Range)
' this function basically concatenates a consecutive set of cells and places commas between values
For Each j in Inputs
stringy = stringy & j.value & chr(44)
Next
stringy = Left(stringy, Len(stringy) - 1)
COMMA_DELIMITER = stringy
End Function
或者
Function COMMA_DELIMITER_A(ParamArray others())
'this is the same function, only the cells don't have to be consecutive
For i = 1 to UBound(others) + 1
stringy = stringy & others(i-1) & chr(44)
Next
COMMA_DELIMIERTER_A = Left(stringy, Len(stringy) - 1)
End Function
我非常想创建一个可以灵活处理连续单元格和/或非连续单元格的函数。输入看起来像这样,“=MyFunc(A1, B1:B10, C11, D12:D44)”。
有人可以帮我创建一个可以处理类似“MyFunc(A1, B1:B10, C11, D12:D44)”的函数吗?
谢谢,
埃利亚斯