问题背景:很多时候想对工作表进行操作,但往往不知道此表是否已经存在,比如想添加一新工作表,并对其进行命名,但如果命名发生冲突,则会引发错误,甚至会导致程序中断.
问题提出:如何判断指定工作表是否存在
解决代码:函数判断是否存在,在过程中调用此函数,并做进一步操作,比如添加新表/删除此表等.
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
代码反思:能否将这段用在判断指定工作簿是否存在?在进行学生评语导入时,可以先进行这一步工作,检测指定的工作簿是否存在,如果不存在,就将其检出并进行提示.
BuzzNet: Excel, Excel VBA, VBA, 爱好者, 程序设计
del.icio.us: Excel, Excel VBA, VBA, 爱好者, 程序设计
Flickr: Excel, Excel VBA, VBA, 爱好者, 程序设计
IceRocket: Excel, Excel VBA, VBA, 爱好者, 程序设计
LiveJournal: Excel, Excel VBA, VBA, 爱好者, 程序设计
Technorati: Excel, Excel VBA, VBA, 爱好者, 程序设计