不一致错误1004



我有下面的代码。简而言之,我有两个文件,一个是阅读器,另一个是数据。我需要多个用户才能访问这些文件,但它们存储在一个Box帐户上,因此每个用户的文件目录不同。我已经创建了应该这样做的代码。当我使用F8手动遍历代码,甚至在工作簿打开后按F5

运行时错误"1004":应用程序定义错误或对象定义错误。

这种情况发生在

Set directoryRange = ImSapMacroWorkbook.Worksheets("Users").Range(Cells(1, 2), Cells(lastUser, 2))

我不知道为什么会在这一点上发生,但它并不一致,所以我无法确定为什么会发生这种情况。如果重要的话,这是auto_open sub中的第一个子运行。在运行之前甚至没有声明任何变量。

Sub GrabData()
    Dim DataWorkbook As Workbook
    Dim ImSapMacroWorkbook As Workbook
    Dim copyRange As Range
    Dim pasteRange As Range
    Dim directoryRange As Range
    Dim LastRow As Integer
    Dim lastUser As Integer
    lastUser = ThisWorkbook.Worksheets("Users").Range("A1048576").End(xlUp).Row
    Set directoryRange = ThisWorkbook.Worksheets("Users").Range(Cells(1, 2), Cells(lastUser, 2))
    Set MacroWorkbook = ThisWorkbook
    On Error GoTo nextUser
    For Each c In directoryRange
        Set DataWorkbook = Workbooks.Open(c.Value)
        Exit For
nextUser:
    Next c
    LastRow = DataWorkbook.Worksheets("Sheet1").Range("A1048576").End(xlUp).Row
    Set copyRange = DataWorkbook.Worksheets("Sheet1").Range(Cells(2, 1), Cells(LastRow, 36))
    Set pasteRange = MacroWorkbook.Sheets("input").Cells(2, 1)
    Call clearData
    copyRange.Copy
    MacroWorkbook.Activate
    pasteRange.Select
    ActiveSheet.Paste
End Sub

我想我发现了问题-我运行了

 DataWorkbook.Worksheets("Sheet1").activate

在给我带来问题的部分前面。似乎已经修复了它-将等待几次运行确认,因为它无论如何都是不一致的。

最新更新