我有一个VBA表单程序,它可以为两个不同的函数查阅两个不同的工作簿。当我运行第一个函数,它运行良好,然后我运行第二个函数,它引用一个后台工作簿,运行正常 - 然后当我尝试再次运行第一个程序时,我得到一个'下标超出范围'错误。如何进一步指定此代码以返回到原始工作簿?
Worksheets("Modified Item Extract").Range("$A$1:$CL$293662").AutoFilter Field:=1, Criteria1:="" & PBH.Value
答案 0 :(得分:2)
最安全的,即使最长的是在以后使用范围和单元格时始终定义工作簿和工作表。
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