3

我有一个包含许多工作表和大量数据的 Excel 工作簿。我的 VBA 函数之一如下。它一直运行良好。

Function TextResult(Name As String) As String
  Select Case Name
    Case Is = "Text1"
      Name = "Result1"
    Case Is = "Text2"
      Name = "Result2"
    Case Is = "Text3"
      Name = "Result"
  End Select
End Function  

然后我添加了一个重命名我的模块的 Sub:

Sub Whats_In_A_Name()
    ThisWorkbook.VBProject.VBComponents("Module1").name = "TextResult"
    ThisWorkbook.VBProject.VBComponents("Module2").name = "Name2"
End Sub

这个给出了一个错误,但将它们全部重命名,包括它自己。

但现在我得到一个#NAME?使用这些模块的所有单元格都出现错误,这些模块与上述模块类似,因此所有 Case 函数。而且我不知道如何纠正这个问题。任何人的想法?

4

1 回答 1

3

如上:

为您的 UDF 使用不同的名称,而不是包含该函数的模块的确切名称。

于 2012-11-27T11:56:09.743 回答