+ -
当前位置:首页 → 问答吧 → 如何判断一个名称为“sheet1”的工作表是否存在?

如何判断一个名称为“sheet1”的工作表是否存在?

时间:2011-08-12

来源:互联网

如题,谢谢各位大侠解答!!!
是否需要遍历工作薄中的所有工作表?

[ 本帖最后由 风雪霓华 于 2011-8-12 17:46 编辑 ]

作者: 风雪霓华   发布时间: 2011-08-12

if workbooks(1).worksheets("sheet1") is nothing  then
   msgbox "不存在"
else
   msgbox "存在"
end if

作者: 白色GG   发布时间: 2011-08-12

谢谢楼上,这个好像不行吧,假如不存在会出现“下标越界”的!

作者: 风雪霓华   发布时间: 2011-08-12

这是我程序中的一个完整过程:


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

作者: 白色GG   发布时间: 2011-08-12

dim ws as worksheet
on error resume next
set ws = worksheets("sheet1")
if err then msgbox " sheet1工作表不存在"
on error goto 0

作者: livewire   发布时间: 2011-08-12

谢谢谢谢,看来必须使用on error resume next了!
再次感谢!

作者: 风雪霓华   发布时间: 2011-08-12

引用:
原帖由 风雪霓华 于 2011-8-12 18:07 发表
谢谢谢谢,看来必须使用on error resume next了!
再次感谢!
应不是必须,是可以用on error resume next

作者: jiminyanyan   发布时间: 2011-08-12