无法从函数内部访问新的工作簿

我试图从其他工作簿访问信息,并在中央位置填充该信息。 具体来说,我试图编写一个函数,可以在将返回目标工作簿的UsedRange.Count单元格中使用。

问题是当我尝试指向工作簿对象时,我不断收到错误#9或#91。 我99.99%确定我正确地命名文件。

更重要的是,当我作为一个Sub运行代码而不是一个函数,它工作正常。

这是工作小组:

Sub test() Dim wb As Workbook Dim wb2 As Workbook Dim fileName As String Dim rootDir As String Dim BigSum As Integer rootDir = ActiveWorkbook.Path fileName = "TestSheet1" Set wb = ActiveWorkbook MsgBox rootDir On Error Resume Next Set wb2 = Workbooks(fileName & ".xlsx") Set wb2 = Workbooks.Open(rootDir & "\Test1\" & fileName & ".xlsx") MsgBox wb2.Worksheets("Sheet1").Range("A3").Value2 BigSum = wb2.Worksheets("Sheet1").UsedRange.Count - 2 MsgBox BigSum End Sub 

下面是一个函数的例子:

 Function Adder(exTension As String, fileName As String) As Integer Dim wb As Workbook Dim wb2 As Workbook Dim rootDir As String rootDir = ActiveWorkbook.Path Set wb = ActiveWorkbook On Error GoTo errHandler Set wb2 = Workbooks(fileName & ".xlsx") Set wb2 = Workbooks.Open(rootDir & "\" & exTension & "\" & fileName & ".xlsx") Adder = wb2.Worksheets("Sheet1").UsedRange.Count - 2 MsgBox Adder errHandler: MsgBox Err.Number Resume exitHere exitHere: End Function 

据我所知,这些之间没有真正的区别。 这是范围问题吗?