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

时间:2016-07-22 13:40:29

标签: excel vba excel-vba

我有一个VBA表单程序,它可以为两个不同的函数查阅两个不同的工作簿。当我运行第一个函数,它运行良好,然后我运行第二个函数,它引用一个后台工作簿,运行正常 - 然后当我尝试再次运行第一个程序时,我得到一个'下标超出范围'错误。如何进一步指定此代码以返回到原始工作簿?

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

1 个答案:

答案 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