gpt4 book ai didi

用于检查工作表是否存在的函数的 VBA 错误处理

转载 作者:行者123 更新时间:2023-12-04 03:35:30 26 4
gpt4 key购买 nike

我有一个函数可以添加一个工作表并重命名它,但首先要检查是否已经存在同名的工作表。为此,我在这里使用了相当广泛可用的功能 -

Function WorksheetExists(ByVal WorksheetName As String) As Boolean

On Error Resume Next ' Set to Resume Next as don't want to end macro if this fails
WorksheetExists = (Sheets(WorksheetName).Name <> "")
On Error GoTo 0

End Function

我的问题是我已经在调用此函数的父子中设置了 On Error GoTo error_exit,因此在检查工作表是否存在后 On Error GoTo 0 无效那个电话。

我在这个函数中尝试了 On Error GoTo error_exit,但我得到了以下错误 -

Complie Error: Label not defined

有人知道我该如何解决这个问题吗?

最佳答案

当您退出函数 WorksheetExists 时,您的错误范围会自动恢复到之前的情况。您无需执行任何操作即可恢复调用子/函数中的 On Error Goto error_exit

有趣的是,如果您从该函数中删除错误处理并且不存在具有传递名称的工作表,您的代码将在调用错误处理标签(即在 error_exit: 中的标签)上恢复执行调用代码)

关于用于检查工作表是否存在的函数的 VBA 错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14894152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com