Vba:如何检查工作表是否存在(举例)
您可以在 VBA 中创建以下函数来检查当前活动的 Excel 工作簿中是否存在特定工作表:
Function sheetExists(some_sheet As String) As Boolean
On Error Resume Next
sheetExists = (ActiveWorkbook.Sheets(some_sheet).Index > 0)
End Function
此函数将返回TRUE或FALSE以指示当前活动的 Excel 工作簿中是否存在特定工作表名称。
请注意,此函数只是检查工作表的索引号是否大于 0。
如果工作表存在,则工作表索引号的值至少为1 ,导致函数返回值TRUE 。
下面的例子展示了如何在实际中使用这个功能。
示例:使用VBA检查工作表是否存在
假设我们有以下包含三张工作表的 Excel 工作簿:
我们可以在 VBA 中创建以下函数来检查该工作簿中是否存在特定的工作表名称:
Function sheetExists(some_sheet As String) As Boolean
On Error Resume Next
sheetExists = (ActiveWorkbook.Sheets(some_sheet).Index > 0)
End Function
然后,我们可以在当前活动工作表的单元格A1中键入以下公式来检查工作簿中是否存在工作表名称“Teams”:
=sheetExists("Teams")
以下屏幕截图显示了如何在实践中使用该公式:
该函数返回TRUE ,因为工作簿中存在该工作表名称。
另请注意,此函数不区分大小写。
例如,如果我们检查工作表名称“teams”是否存在,那么该函数也会返回TRUE :
但是,假设我们检查工作表名称“coachs”是否存在:
由于工作簿中不存在该工作表名称,因此该函数返回FALSE 。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务: