运行时错误91与Win8

我有一个Excel中的VBA项目,这是与Win XP和Win7的工作。 当我尝试在win8上运行它时,我有一个运行时错误91:对象variables或块variables未设置。 这里是导致错误的子:

Public Sub Worksheet_UnLock() For Each Sheet In ActiveWorkbook.Worksheets 'this line throws error Sheet.Unprotect Password:=myPassword Next Sheet End Sub 

有任何想法吗?

编辑:我没有“选项显式”的代码之上。 从ActiveWorkbook.Worksheets更改为表格不解决问题,但我发现一些有趣的事情 – 我的代码工作正常,当我将代码保存到本地高清的代码,但它从运行时错误91从服务器打开。 这怎么可能? 我真的需要在服务器上有文件。

发生错误91是因为没有设置对象,所以我会确保ActiveWorkbook确实已经添加了工作表。 你可能想尝试一下,看看是否仍然会抛出一个错误。

 Sub Worksheet_UnLock() Dim s as Worksheet For Each s In ActiveWorkbook.Sheets s.Unprotect Password:=myPassword Next End Sub