マクロの 1 つで突然エラーが発生しました。次の関数を呼び出します。この関数は、選択したオプションの区切り文字を使用して一連のセルを連結します。
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
毎回エラーが返されました。コード内で何も変更されていないので、同じ VBAで からMAKELIST
に変更しました。MAKELIST2
これは完全に機能します。ただし、ワークブック内の関数へのすべての参照を変更する必要がないことは明らかであり、他のユーザーにこれが起こらないように、堅牢で将来性のあるものにしたいと考えています。なぜこれが起こったのか、誰にでも光を当てることができますか?
ありがとう!