无法设置Excel VBA工作表变量

时间:2019-01-06 11:01:35

标签: excel vba ex

我试图将源工作表变量设置为另一个工作簿(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评论后的样子

enter image description here

1 个答案:

答案 0 :(得分:2)

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

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

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

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