excel - 使用表名检查特定表是否存在时的 VBA Excel 错误处理

标签 excel vba

当使用表格名称检查表格时,有一个线程几乎可以准确地给我我需要的东西。这是这里...
VBA Excel check if a particular table exist using table name

TableExists = False
On Error GoTo Skip
If ActiveSheet.ListObjects("Table123").Name = "Table123" Then TableExists = True
Skip:
    On Error GoTo 0
如果表不存在,它会直接进入错误处理程序,这很好,但是我在函数中有其他代码,当错误最终会使用相同的错误处理程序时。因此,我无法显示特定的 msgbox 说明该表不存在。
如果表不存在,有没有办法显示一个 msgbox,它不使用与函数其他部分相同的错误处理程序。

最佳答案

您可以创建一个单独的函数来检查表是否存在,并且与主程序错误处理程序无关。

Function tableExist(Sht As Worksheet, tblName As String) As Boolean
    On Error Resume Next
    tableExist = Sht.ListObjects(tblName).Name = tblName
    On Error GoTo 0
End Function

Sub test()

    If tableExist(ActiveSheet, "Table1234") Then

    ' write your code here

    End If
End Sub

关于excel - 使用表名检查特定表是否存在时的 VBA Excel 错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51386093/

相关文章:

python - 通过使用 Python 修改 Excel 后面的 xml 来动态更改 Excel 中的文件共享根目录

excel - 在两列配对的值中删除每对重复项(行)中的一个

javascript - AngularJS - 按钮 - 在依赖之前调用函数或指令

excel - 使用 Excel vba 下载 YouTube 字幕

vba - Excel VBA 输入框范围选择按钮

vba - Excel VBA 从禁用宏的实例访问 HelpFile 属性时出现错误?

Excel VBA 列出键绑定(bind)(OnKey ?)

VBA:将工作表作为函数的参数时如何寻址正确的工作簿?

vba - 如何在 VBA (Excel) 中获取以毫秒为单位的 DateDiff-Value?

excel - 对非连续单元格的平均公式使用 (r, c) 格式