0

我正在尝试将源工作表变量设置为另一个工作簿(DataSource1.xlsx)中的目标工作表变量,目的是最终使用它来读取目标工作表并执行一些计算,但它给了我下标超出范围错误。

这是我的代码

Sub GenerateReport()

Dim source As Worksheet

Dim path As String    
Set source= Workbooks(ThisWorkbook.path & "\DataSource1.xlsx").Sheets("Sheet1")

'path = ThisWorkbook.path

'Set wb = Workbooks.Open(ThisWorkbook.path & "\DataSource1.xlsx")

Dim one As Integer

one = 10

End Sub

该文件都放在同一个文件夹中,我检查了没有命名或路径错误,为什么会发生这种情况?

编辑

这就是我的项目在 GSerg 评论后的样子

在此处输入图像描述

4

1 回答 1

2

如果工作簿已经打开,则需要按名称引用它,不带路径:

Set source = Workbooks("DataSource1.xlsx").Sheets("Sheet1")

如果工作簿尚未打开,则需要先打开它:

Set source = Workbooks.Open(ThisWorkbook.path & "\DataSource1.xlsx").Sheets("Sheet1")
于 2019-01-06T11:07:13.170 回答