标签:VBA,Evaluate方法
之前我们介绍的检查工作表是否存在的VBA代码,都是利用了VBA的错误处理,而本文将介绍一种判断工作表是否存在的特别方法,在VBA代码中使用Evaluate。
在创建新工作表之前,可以先检查该工作表名称是否已经存在,如果不存在具有这个名称的工作表,则创建一个使用这个名称命名的新工作表。
判断代码如下:
If Not Evaluate("ISREF('" & [A1] & "'!A1)") Then
其中,在工作表单元格A1中包含要检查判断的工作表名称。
如果工作表列A中包含着工作表名称,则可以使用循环来检查判断这些名称是否已存在,代码如下:
代码语言:javascript复制Sub testSheetExists()
Dim i As Integer
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
If Not Evaluate("ISREF('" & Range("A" & i) & "'!A1)") Then
'放置你的代码
End If
Next i
End Sub
这个过程是非常有用的,特别是当你在创建新工作表之前,为了避免创建重名工作表而导致错误。