错误91:对象variables或未设置块variables
我有以下代码在Excel 2007中正常工作。
但是,它在Excel 2010上给出以下错误:
错误91:对象variables或未设置块variables。
任何想法如何解决? 我检查了其他职位没有运气。
更新:请注意,如果包含vba代码的工作簿是activeworkbook,代码工作正常。
但是我正在做的是打开另一个工作簿,然后按F3(运行此代码)。 那是当它失败的时候。 所以基本上iif工作簿与代码是积极的,它的工作原理,如果它是另一个工作簿是积极的,它会给出错误。
Sub Process_current_Sheet() Dim WS_Count As Integer Dim i As Integer Dim sheet_name As String WS_Count = ActiveWorkbook.Worksheets.Count nameofworkbook = ActiveWorkbook.Name ' Begin the loop. For i = 1 To WS_Count If InStr(ActiveWorkbook.Worksheets(i).Name, "xxx") > 0 Then sheet_name1 = activeWorkbook.Worksheets(i).Name End If Next i End Sub
发现问题。
第二个工作簿,我已经打开,并且是activeworkbook,也有一个macros,所以它正在等待用户按macros激活/不macros。
如果你不这样做,你会得到错误提到…
如果您激活该工作簿上的macros(macrosbutton不再显示),那么我的macros工作正常。
可能不是解决办法,但是这将有助于确认罪魁祸首究竟是谁(告诉我们是否有错误,如果有,哪个错误和哪一行):
Sub Process_current_Sheet() Dim WS_Count As Integer, _ i As Integer, _ sheet_name As String, _ wB As Workbook Set wB = ActiveWorkbook WS_Count = wB.Worksheets.Count nameofworkbook = wB.Name ' Begin the loop. For i = 1 To WS_Count If InStr(wB.Worksheets(i).Name, "xxx") > 0 Then sheet_name1 = wB.Worksheets(i).Name End If Next i End Sub