函数
' 函数名称:comm_isSheetExists
' 功能:判断工作表是否存在
' 说明:在指定的工作簿中根据工作表名称查询工作表是否存在。前提:工作簿已经打开。
' 参数:
' - inWorkBook:工作簿对象
' - checkSheetName:需要判断的工作表名称
' 返回值:True(存在)、False(不存在)
Public Function comm_isSheetExists(inWorkBook As Workbook, checkSheetName As String) As Boolean
Dim oneSheet As Worksheet ' 循环使用的临时sheet对象
' 循环取得参数设定的工作簿的每一个sheet对象
For Each oneSheet In inWorkBook.Sheets
' 当次循环的工作表名称与参数的工作表名称一致时,返回True,函数结束。
If oneSheet.Name = checkSheetName Then
comm_isSheetExists = True
Exit Function
End If
Next
' 循环结束后,函数仍未结束,代表没有找到指定的工作表名称,则返回False,函数结束。
comm_isSheetExists = False
End Function
演示
判断VBA程序所在工作簿中的工作表是否存在
■VBA程序所在的工作簿
1、工作表存在
' 演示代码
Debug.Print comm_isSheetExists(ThisWorkbook, "文件输出")
■执行结果
2、工作表不存在
' 演示代码
Debug.Print comm_isSheetExists(ThisWorkbook, "新建工作表")
■执行结果
判断其他打开工作簿中的工作表是否存在
■其他工作簿
1、工作表存在
' 演示代码
Dim otherWorkBook As Workbook ' 工作簿对象
' 打开工作簿
Set otherWorkBook = Workbooks.Open("D:\VBA\测试.xlsx")
' 调用函数
Debug.Print comm_isSheetExists(otherWorkBook, "工作表2")
■执行结果
2、工作表不存在
' 演示代码
Dim otherWorkBook As Workbook ' 工作簿对象
' 打开工作簿
Set otherWorkBook = Workbooks.Open("D:\VBA\测试.xlsx")
' 调用函数
Debug.Print comm_isSheetExists(otherWorkBook, "新建工作表")
■执行结果
评论