我刚刚经历了我的一个宏突然失败。它调用以下函数,该函数使用选定的可选分隔符连接一系列单元格:
Public Function MAKELIST(ByVal cellRange As Range, Optional ByVal delimiter As String)
'Function to join a range of cells together with an optional
Dim c As Range
Dim newText As String
Dim Count As Integer
Count = 0
newText = ""
For Each c In cellRange
Count = Count + 1
newText = newText & c.Value
If Count < cellRange.Count Then
newText = newText & delimiter
End If
Next
MAKELIST = newText
End Function
它只是将手动输入的单元格数据连接在一起——任何值似乎都会破坏它。似乎问题在于函数是如何被引用/调用的(对不起,这个命名法不好)而不是函数本身。
这工作得很好。我在文件夹之间移动了文件,它突然停止工作,#NAME
每次都返回错误。代码中没有任何变化,所以我将它从 更改MAKELIST
为MAKELIST2
,使用相同的 VBA。这完美地工作。但是,我显然不想更改工作簿中对函数的每个引用,我希望它是健壮且面向未来的,这样其他用户就不会发生这种情况。谁能解释为什么会发生这种情况?
谢谢!