我想知道是否可以在不制作该表的副本的情况下从其他工作簿中引用Excel工作表?
情况:我有一些非常大的工作表填充了各种数据,但我不想在我的工作簿中保留它们的副本,因为虽然每个工作簿使用相同的数据源,但它们略有不同 .
我有一个vba例程,它接收这些数据并为其他代码创建输入文件,vba希望这些数据在定义的工作表名称上可用 .
是否有可能使excel或vba知道当我请求工作表(“Example_1”)时它反而知道我的意思是来自不同工作簿的example_1?
谢谢
对的,这是可能的 .
您需要将这些行添加到您的代码中:
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. ,即:
wks.
'Printing value in cell. wks.Range("A1") = "x" 'Selecting range. call wks.Range(wks.Cells(1,1), wks.Cells(2,2)).Select
=SUM('C:\test\[test.xlsx]sheet_name'!A1:A25)
是在工作簿 C:\test\text.xlsx 中引用工作表 sheet_name 的公式的示例 .
C:\test\text.xlsx
sheet_name
请注意,打开其他工作簿时,公式会自动更改为
=SUM([test.xlsx]sheet_name!A1:A25)
然后当它关闭时,公式将改回来 .
2 回答
对的,这是可能的 .
您需要将这些行添加到您的代码中:
现在,每次你想要引用这个其他工作簿的范围时,你需要在之前添加
wks.
,即:是在工作簿
C:\test\text.xlsx
中引用工作表sheet_name
的公式的示例 .请注意,打开其他工作簿时,公式会自动更改为
然后当它关闭时,公式将改回来 .