我有一个函数,用于检查工作簿中是否已存在名为wsName
的工作表。我遇到的问题是,如何在重新构建和删除On Error Resume Next
的情况下运行该函数。我所期望的是运行宏并生成工作簿中不存在的工作表的副本,如果工作表已存在,然后打印出ErrorMsg
,显示为"Unknown Error"
。然而,我看到的是,即使工作表不存在,宏也会打印出ErrorMsg
,并制作它的副本。我正在SheetExists
上尝试这种方法,看看是否有一种方法可以让函数在不使用On Error Resume Next
的情况下运行,因为我不希望宏忽略错误而我希望它打印出"Unknown Error"
第一个
4条答案
按热度按时间lnlaulya1#
你的函数代码总是到达最后一行,就像...
如果工作表对象存在,则必须放置一个代码行以退出函数:
已编辑:
请注意,上面的函数是
SheetExists_
。它有一个下划线字符的名称结束。我有另一个函数与此名称...yhived7q2#
“SheetExists”函数将始终将“ErrorMsg”设置为“未知错误”。在
SheetExists = Not wb.Sheets(SheetName) Is Nothing
之后添加“Exit函数unhi4e5o3#
现在的方法是,当工作表不存在时,将ErrorMsg设置为“Unknown Error”。这就是为什么在测试设置中,每张工作表都是不同的,所以每张工作表都会出现错误。您的函数仍然会给予False(不存在),但也会出现错误。
kqlmhetl4#
使用简单的函数进行检查,不要将工作表与工作表混淆