VBA将单元格的范围转化为函数

让我开始说我已经使用VBA约2小时。
我是一个Java人,对VBA一无所知。

我想要的是编写一个Excel函数,将一系列的单元格分隔符作为参数,然后返回与指定的分隔符的单元格的连接。

例如concatenateRange(B1:D1,“;”)会返回等价于= B1&“;”&C1&“;”&D1

这是我的代码(这是行不通的)

Function concatenateRange(rng As Range, delimiter As String) str = "" For Each cell In rng str = str & delimiter & cell Next concatenateRange = str End Function 

我尝试使用上述函数时得到的错误是“参数不可选”

您已经通过内置的VBA函数Str()定义了variablesStr。 VBA不喜欢这个。

这工作正常:

 Public Function concatenateRange(rng As Range, delimiter As String) Str1 = "" For Each cell In rng Str1 = Str1 & delimiter & cell Next concatenateRange = Str1 End Function