VBA Excel检查是否存在使用表名称的特定表

我在Excel表中有几个表格。 每个都有唯一的表名。 我想知道是否有一个名称为“Table123”的表格存在或不在当前表格中。

有人能帮我吗?

感谢Jeevan

TableExists = False On Error GoTo Skip If ActiveSheet.ListObjects("Table123").Name = "Table123" Then TableExists = True Skip: On Error GoTo 0 

此代码将工作,避免循环和错误

你可以像这样列出形状集合和比较名字

 Sub callTableExists() MsgBox tableExists("Table1", "Shapes") End Sub Function tableExists(tableName As String, sheetName As String) As Boolean Dim targetSheet As Worksheet Set targetSheet = Sheets(sheetName) Dim tbl As ListObject Dim found As Boolean found = False With targetSheet For Each tbl In .ListObjects If tbl.Name = tableName Then found = True Exit For End If Next tbl End With tableExists = found End Function 

这是一个替代function:

 Function TableExistsOnSheet(ws As Worksheet, sTableName As String) As Boolean TableExistsOnSheet = ws.Evaluate("ISREF(" & sTableName & ")") End Function