【发布时间】:2014-10-23 17:42:40
【问题描述】:
我有一个问题:
Function Create_Model(adress As range, name As String) As String
Dim Msg As String
On Error GoTo ErrorHandler
ActiveWorkbook.Names.add "toto", "=Interface!$I$19"
Create_Model=name
Exit Function
ErrorHandler:
If Err.Number <> 0 Then
Msg = "Error # " & Str(Err.Number) & " was generated by " _
& Err.Source & Chr(13) & "Error Line: " & Erl & Chr(13) & Err.Description
MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext
End If
Resume Next
End Function
确实,如果我运行它,我会得到:
"Error # 1004 was generated by VBAProject
Error Line: 0
Application-defined or object-defined error"
问题似乎来自“功能”的使用,因为如果我尝试使用“子”执行它,它就可以工作。
谁能解释一下为什么我不能用“函数”来做这个,否则我该如何复制这个函数?
P.S:如果我使用 Debug->Compile VBAProject 进行编译。我没有收到任何消息。
P.S.2 : 此函数旨在用于 excel 公式。
P.S.3:使用的参数是:地址 = J18:L20 和名称 =“测试”。最后,我想用名称替换“toto”,用地址替换“=Interface!$I$19”。
感谢您的帮助。
【问题讨论】:
-
你的代码能编译吗?做一个调试 - >编译。你的函数返回什么?
-
你传递给函数的参数是什么?我刚刚通过代码没有错误。另外,尝试转到工具>>选项>>常规并选择“所有错误中断”。这将使您结束错误处理程序的路由并查看实际情况。