如何进一步指定正在引用的工作簿

我有一个VBA表单程序,为两个单独的函数查阅两个不同的工作簿。 当我运行第一个函数,它运行良好,然后我运行第二个函数,它引用一个后台工作簿,并运行良好 – 然后当我尝试再次运行第一个程序,我得到一个'下标超出范围'错误。 我怎么能进一步指定这个代码回到原来的工作簿?

Worksheets("Modified Item Extract").Range("$A$1:$CL$293662").AutoFilter Field:=1, Criteria1:="" & PBH.Value 

最安全的,即使是最长的,也是在以后使用“范围”和“单元格”时始终定义工作簿和工作表。

 Option Explicit Dim wb1 As Workbook Dim wb2 As Workbook Dim ws1 As Worksheet Dim ws2 As Worksheet Sub yourSubName() Set wb1 = Workbooks("Your_Workbook_Name") Set ws1 = wb1.Worksheets("Modified Item Extract") ' do the same for setting wb2 and ws2 ws1.Range("$A$1:$CL$293662").AutoFilter Field:=1, Criteria1:="" & PBH.Value End Sub