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
在學習過程中記錄一下,以備查閱
