我试图将源工作表变量设置为另一个工作簿(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评论后的样子
答案 0 :(得分:2)
如果工作簿已经打开,则需要按名称引用它,而不使用路径:
Set source = Workbooks("DataSource1.xlsx").Sheets("Sheet1")
如果尚未打开工作簿,则需要先打开它:
Set source = Workbooks.Open(ThisWorkbook.path & "\DataSource1.xlsx").Sheets("Sheet1")