我在一个Excel文件里写了一段宏,运行没有问题。然后打开另一个Excel文件,调用先前的宏,确出错了!不知为何。下面是出错的代码:目的是判断文件是否有Sheet2,没有则建立。运行结果是没有增加工作表。

counter = 0
For Each FlagWs In ThisWorkbook.Worksheets
  If FlagWs.Name = "Sheet2" Then
    counter = 1   '有Sheet2
    Exit For
  Else
    counter = 0   '没有Sheet2
  End If
Next FlagWs
If counter = 0 Then
   Worksheets.Add after:=Worksheets("sheet1")  
   Worksheets(2).Name = "sheet2"
End If