在不复制工作表的情况下从其他工作簿引用Excel工作表

时间:2015-07-29 10:17:38

标签: excel vba excel-vba

我想知道是否可以在不制作该表的副本的情况下从其他工作簿中引用Excel工作表?

情况:我有一些非常大的工作表,里面装满了各种数据,但是我不想在我的工作簿中保留它们的副本,因为虽然每个工作簿都使用相同的数据源,但他们还是稍微不一样。

我有一个vba例程,它接收这些数据并为其他代码创建输入文件,vba希望这些数据在定义的工作表名称上可用。

是否有可能让excel或vba知道当我请求工作表时(" Example_1")它知道我的意思是来自不同工作簿的example_1?

由于

2 个答案:

答案 0 :(得分:4)

是的,这是可能的。

您需要将这些行添加到代码中:

Dim wkb As Excel.Workbook
Dim wks As Excel.Worksheet

Set wkb = Excel.Workbooks("name_of_workbook.xlsx")
Set wks = wkb.Worksheets("Example_1")

现在,每次要引用其他工作簿中的范围时,都需要先添加wks.,即:

'Printing value in cell.
wks.Range("A1") = "x"

'Selecting range.
call wks.Range(wks.Cells(1,1), wks.Cells(2,2)).Select

答案 1 :(得分:1)

=SUM('C:\test\[test.xlsx]sheet_name'!A1:A25)

是引用工作簿sheet_name中的工作表C:\test\text.xlsx的公式示例。

请注意,打开其他工作簿时,公式会自动更改为

=SUM([test.xlsx]sheet_name!A1:A25)

然后当它关闭时,公式将改回来。