我在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