我在Excel表中有几个表。每个表都有唯一的表名。我想知道是否存在名称为“Table123”的表格,或者不存在于当前表格中。VBA Excel使用表名检查是否存在特定的表
有人能帮我解决吗?
感谢 杰文
我在Excel表中有几个表。每个表都有唯一的表名。我想知道是否存在名称为“Table123”的表格,或者不存在于当前表格中。VBA Excel使用表名检查是否存在特定的表
有人能帮我解决吗?
感谢 杰文
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 TableExistsOnSheet(ws As Worksheet, sTableName As String) As Boolean
TableExistsOnSheet = ws.Evaluate("ISREF(" & sTableName & ")")
End Function
只是循环表/形状集合复合并检查是否有任何表/形状具有所需的名称。 –
我该怎么做?我如何循环一个ListObject? – Jeevan
这个问题为什么用“-2”投下来? – Jeevan