VBA中查询工作簿中是否含有指定名称工作表的方法


VBA中经常会有一个这样的需求,在执行运算之前需要先判断指定工作表名称是否存在,否则程序将会报“下标越界”的错误,给用户不好的体验

我所知晓的查询工作表名称通常有3种方法:

一、遍历所有工作表,如果工作表的名称等于指定名称,则反馈存在

for each ws in worksheets
    if ws.name = "指定名称"  then
        msgbox "存在"
        exit for
    else
        msgbox "不存在"
    end if
next ws    

  

二、利用“下表越界”错误来判断

Function SheetIsExist(strExcleName As String, strSheetName As String) As Boolean
    '//判断名称的工作表是否已经在指定的Excel文件中存在

    Dim shtSheet As Worksheet
    
    SheetIsExist = False
    On Error GoTo lab1
    Set shtSheet = Workbooks(strExcleName).Sheets(strSheetName)
    If shtSheet Is Nothing Then
        SheetIsExist = False
    Else
        SheetIsExist = True
    End If
    
    Set shtSheet = Nothing
    Exit Function

lab1:
    SheetIsExist = False
End Function

  

在学习过程中记录一下,以备查阅


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM