我有一个 Excel 表,我想将其用作其他任务的来源。它包含我的情况中的名称和 ID 列表,以及一些其他数据。这个表正在慢慢增长,所有内容都会保留在那里。我希望能够在不同的工作簿中实例化这个对象。我可以使用 VBA,但我现在很犹豫是否要开始深入研究它。有什么更优雅的替代方案吗?
答案1
如果实例化只是意味着您希望将表链接到外部工作簿,那么使用 Excel 中的本机数据工具很容易。
- 点击数据
- 获取数据
- 从文件
- 从工作簿
- 选择包含表的源工作簿
这将打开数据导入界面。从这里您可以看到工作簿中的所有对象。选择要导入的表对象。单击“加载”。
这现在是一个连接查询。您可以按Data > Refresh All
,它将从表中提取最新数据。这样表格就链接起来了。在新的工作簿中执行任何工作之前,您需要刷新您的副本。
答案2
您想要的是调用链接引用。
使用链接引用的两种方法(示例以表为中心):
手动输入链接的参考:
'workbook file name.xlsx'!Table_Name[#All]
- 如果文件名包含空格或特殊字符,则需要使用单引号。
- 更多的表运算符从MS:在 Excel 表格中使用结构化引用页。
选择源范围:
- 打开源工作簿(在创建引用它的公式之前)。
- 创建公式,并在需要链接引用的位置,
- 在“视图”选项卡的“窗口”组中,单击“切换窗口”。
- 选择源工作簿并导航到工作表选项卡。
- 选择参考范围单元格。
- 返回完成公式。
要查看整个表格:
- 当需要表的实例时,
- 选择足够大以包含表格的单元格范围。
- 如果表格可能会增长,请添加额外的列和/或行以满足这种增长要求。
- 添加
IFERROR(<formula>,"")
隐藏#N/A
。 - 添加额外的保护来指示源表是否超出了分配的空间。
- 在公式栏中输入
='Table Workbook Name.xlsx'!Table_Name[#All]
或输入=
然后使用上面的方法 1 并选择整个表格。 - 这是 CSE 公式,因此使用Ctrl- Shift-Enter