![创建可变大小的 Excel 表的副本](https://linux22.com/image/1428667/%E5%88%9B%E5%BB%BA%E5%8F%AF%E5%8F%98%E5%A4%A7%E5%B0%8F%E7%9A%84%20Excel%20%E8%A1%A8%E7%9A%84%E5%89%AF%E6%9C%AC.png)
我在电子表格 (Resource.xlsx) 中有一个名为“人员”的表格。随着新人加入组织,该表格的大小会增大。
我有另一个电子表格 (Planning.xlsx),我想在其中动态复制 Resource.xlsx 中的数据。即,当我向 Resource.xlsx 中的表添加一行时,Planning.xlsx 中会创建一个新行。我还希望能够向 Resource.xlsx 中的重复表添加其他列。
在我看来,这似乎应该相当简单,但我很纠结。要么是我使用了错误的搜索词!感谢您的帮助。
答案1
正如您所发现的,这并不是那么简单。主要是因为 Excel 并不是特别适合这项工作!您真正想要的是数据库!
解决了这个问题后,出现了几个选项,但我们需要了解更多范围。您希望更改立即生效,还是希望稍后更新第二个工作簿?
如果是前者,您需要在第一个工作簿中编写一些 VBA 脚本,以打开第二个工作簿并监视 People 表中的更改事件。当发生更改事件时,您将检查是否添加了新行,然后将其添加到第二个表中。VBA 会相当复杂(恐怕太长了,无法在这里写出来),但不会太难。
第二种情况实际上要简单得多。现在您可以根据第一个表的查询来创建第二个表。由于您想向第二个表添加额外的数据,最简单、最可靠的答案是安装 Microsoft 的免费 PowerQuery 插件。使用它,针对第一个表创建查询,添加所需的额外列,就这样。每当您更新第一个表时,请保存、关闭并打开第二个表,然后刷新查询(可以设置为在打开时发生)。