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