VBA实践技巧精粹008:如何判断指定工作表是否存在

问题背景:很多时候想对工作表进行操作,但往往不知道此表是否已经存在,比如想添加一新工作表,并对其进行命名,但如果命名发生冲突,则会引发错误,甚至会导致程序中断.

问题提出:如何判断指定工作表是否存在

解决代码:函数判断是否存在,在过程中调用此函数,并做进一步操作,比如添加新表/删除此表等.

Function ExistSheet(ShtName As String) As Boolean
    Dim sht As Worksheet
    On Error Resume Next
    Set sht = Worksheets(ShtName) '要出错就在这儿出错!
    If Err.Number = 0 Then 'Err.Number=0恰好说明正确,Err对象的默认属性就是Number
        ExistSheet = True
    Else
        MsgBox ShtName & "工作表不存在"
    End If
    Set sht = Nothing '得到正确的结果后,工作表对象就无存在的意义,及时清空.
End Function
Sub 判断指定工作表是否存在()
    If ExistSheet("sheet100") Then
        Debug.Print "xiehui is a man!"
    End If
End Sub
代码反思:能否将这段用在判断指定工作簿是否存在?在进行学生评语导入时,可以先进行这一步工作,检测指定的工作簿是否存在,如果不存在,就将其检出并进行提示.

菊子曰 本文用菊子曰发布
posted @ 2011-04-14 07:43  surfacetension  阅读(2045)  评论(0编辑  收藏  举报