首先让我说我已经使用VBA大约2个小时。
我是一个Java人,我对VBA一无所知。
我想要的是编写一个Excel函数,它将范围的单元格和分隔符作为参数,然后返回指定的那些单元格的串联分隔符。
示例 concatenateRange(B1:D1,&#34 ;;&#34;)将返回等于= B1&amp;&#34 ;;&#34;&amp; C1&amp;&#34;;&#34;&amp; D1 < / p>
这是我的代码(不起作用)
Function concatenateRange(rng As Range, delimiter As String)
str = ""
For Each cell In rng
str = str & delimiter & cell
Next
concatenateRange = str
End Function
我尝试使用上述功能时得到的错误是&#34;参数不是可选的&#34;
答案 0 :(得分:1)
您已在内置VBA函数Str()中定义了变量Str。 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