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