我已经和VBA玩了一段时间了,而且我遇到了一个特定的问题。我有一个针对很多人的主数据表,然后是每个人的特定配置文件。所有数据都包含在主数据中,并在配置文件中简单引用。 但用户主要是查看PROFILE。所做的任何更改都可能是对配置文件进行的,而不是主服务器,因此会覆盖配置文件中的现有代码。
用户是否有办法在一个工作表(个人资料)中输入更改,但是该更改是否显示在另一个工作表(母版)中,并且仅显示该工作表,而不影响原始(个人资料)?
感谢您提供的任何帮助。
P.S。是的我已经考虑了工作表更改子选项,然后将结果复制到另一个工作表,但我不知道如何使配置文件然后更改回该单元格中的原始代码。此外,这将破坏CTRL + Z的能力以撤消单个更改。
答案 0 :(得分:0)
您可以添加第三个工作表('模板'),其中保留了您要在'个人资料'中使用的默认值和公式。然后,您只需在'个人资料中添加一个保存按钮即可。片。这样,用户可以在需要时使用Excel的内置撤消机制更改其配置文件,并在最后保存更改。您的宏会将所有更改复制到' master'并恢复'个人资料'到它的模板形式。
请注意,一旦用户点击“保存”,他们就无法撤消,这在使用宏时是一个限制,但由于保存操作只会在以下位置运行最后,它不应该成为一个大问题。
您可以使用Worksheet_Change
事件进一步自动执行此操作,并跳过保存按钮。但是,既然你提到了撤销要求,那么只有当你愿意编写自己的撤销代码/宏时才能使用这个选项,这需要你跟踪对配置文件所做的所有更改,这不是一件容易的事情。