我一直有使用宏从关闭的工作簿中提取数据的问题.

上面的图像是主要的工作簿,我想将宏插入其中.在单元格A1中,您可以看到有一个文件名位置 - 这是我想从中提取数据的已关闭的辅助工作簿的位置.
我希望宏取出单元格A1中存在的位置,在封闭的工作簿中复制单元格A1:J5000,然后从A7开始将它们粘贴到此工作簿中(即A7:J5007).A1中存在文件名位置的原因是由于这种情况会发生变化; 但我希望宏总是采取A1中显示的位置(例如,如果A1从'...\test00218_data.csv'变为'...\test00001_data.csv'那么我希望宏到从新位置获取数据,test00001).
从那时起,我编写了一个宏,我相信它将打开所有名为"原始数据x"的表格,并将所需数据粘贴到主表单的适当区域; 代码如下:
Sub PullClosedData()
Dim filePath As String
For x = 1 To 1 Step 1
filePath = Sheets("Raw Data " & x).Cells(1, 1).Value
Workbooks.Open Filename:=filePath
Sheets("Raw Data 1").Range("A7:J2113").Value = ActiveWorkbook.ActiveSheet.Range("A1:J2107")
Next x
End Sub
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到运行时错误9(超出范围).我相信这与脚本的"ActiveWorkbook.ActiveSheet"部分有关,但我不确定如何重写这个并避免错误.