Excel 相同的电子表格结构和公式,但数据不同

Excel 相同的电子表格结构和公式,但数据不同,excel,vba,excel-formula,excel-template,Excel,Vba,Excel Formula,Excel Template,我有十几个结构和公式相同的电子表格,基本上是表格,只是数据不同,比如每个国家一个电子表格 例如,有一个电子表格用于管理美国员工,另一个用于管理英国员工,另一个用于管理加拿大员工。 它们完全相同,只是每个都将存储一组不同的员工。 电子表格既是存储数据的数据库,也是与数据交互的用户界面 每次更改都会更新或添加公式、更新某些下拉列表值、更改样式。。。必须在所有电子表格中复制,这既耗时又容易出错。 例如,我可以修改公式,通过编辑3个电子表格来计算每个员工的资历 我想知道是否有一个合理的简单方法来避免重复

我有十几个结构和公式相同的电子表格,基本上是表格,只是数据不同,比如每个国家一个电子表格

例如,有一个电子表格用于管理美国员工,另一个用于管理英国员工,另一个用于管理加拿大员工。 它们完全相同,只是每个都将存储一组不同的员工。 电子表格既是存储数据的数据库,也是与数据交互的用户界面

每次更改都会更新或添加公式、更新某些下拉列表值、更改样式。。。必须在所有电子表格中复制,这既耗时又容易出错。 例如,我可以修改公式,通过编辑3个电子表格来计算每个员工的资历

我想知道是否有一个合理的简单方法来避免重复公共部分,只拥有不同的数据

我希望避免使用大量VBA代码、完整的数据库和一些用户输入表单进行全面开发。。。但如果真的有必要,我可以编写一些VBA并构建一些数据库来填补空白,如果没有现成的解决方案

在全面开发的情况下,我会做如下工作:

将所有员工存储在单个SQL数据库表中 开发单个电子表格 打开电子表格时,请用户选择一个国家/地区,以便仅加载该国家/地区的员工 将数据更改保存到数据库
如果您正在有效地讨论一种处理版本控制的有效方法,以便以前分发给用户的输入表与主模板匹配,那么恐怕没有现成的解决方案

如果用户使用的是旧的模板,我会使用类似的方法强制用户下载最新的模板

此外,我还在顶部放了一个大注释,提示用户每次下载一个新模板,而不是回收旧模板,因为如果用户不启用宏,最新模板的自动下载就不会生效

请注意,上面的屏幕截图显示了我在Excel的网格中构建的一个表单,使用抖动合并的单元格。i、 它不是一个用户表单


如果模板需要保留用户提交的数据,而这些数据不是集中保存的,那么您可能需要按照作者在《专业Excel开发》一书中的做法开发一个外接程序。

@Investible downvoter是重复的吗?如果是,请参考其他问题。谢谢我不是投反对票的人,但我知道你为什么会被否决:你的问题没有那么具体,也没有告诉我们你想要复制的变化的性质。他们是否需要组织?或者更改公式使用的常量?你能再详细说明一下吗?@jeffreyweir谢谢你的反馈,我已经对这些变化做了更具体的说明,但它可以是任何变化这些电子表格是否会分发给其他人,然后再发送给您进行整合?或者它们只是供您自己使用?一个简单的更改是使用一个计算/显示表,其中包含一个选择功能,从您选择要查看的国家的下拉列表中输入相关数据。我让用户使用图表模板,当他们打开模板时,它会检查自身的更新版本,如果它发现,然后下载,然后继续绘制和图表数据:所需要的只是一个带有日期代码的单元格,其余的由宏完成。。。而且,是的,它可以上网,因为这就是最新数据的输入方式……谢谢,但我的主要问题不是电子表格的时间新版本,而是同一电子表格的空间多重变化我在考虑Excel模板XLT,但我认为它们不是为这个用例而设计的。无论如何+1:@Pragmateek我不太明白你的“时间”和“空间”示例之间的区别。在这两种情况下,您不需要有效地将更改传播到所有人中的一个吗?或者这更像是从略有不同的工作簿中提取数据,在这种情况下,我建议您查看PowerQuery,它内置于Excel 2016中,作为2010/2013年的免费MS加载项提供。我将在最初的问题中对我的用例进行更明确的描述。至于PowerQuery,我不确定它是否能帮上忙,但无论如何,我们还是坚持使用Office2010好啊考虑到电子表格既是存储数据的数据库,又是与数据交互的用户界面,那么我认为唯一的方法是走完整的路线,这样数据就不会出现在需要更新的工作簿中,而b可以使用上述方法更新模板。也许Excel不是最好的工具。我想你没有Sharepoint?我理解,让您使用基于Excel应用程序的浏览器内方法来捕获数据可能会有所帮助。但我在这方面做得太过火了。