不确定这是否可能完全可能,但我知道这很可能是单独的。我在网络上有一个共享的启用宏的文档,希望能够看到已更新的内容。首先,要指出一些事项;
有问题的工作表(组合表)有一个宏,它从10个其他工作表(从连接中放置)中选取数据/范围,并显示在组合工作表中。原因是其他10个工作表由其他用户/团队更新。这个组合表当然只显示所有数据。
我们现在要添加的内容可以让我们知道最新的条目是什么。我已经看到了一些代码,它们会在字段的下一列上放置一个时间戳,该列已经更新了。这对我们不起作用。
有人提到将数据从组合表(实时)中提取到新工作簿。将此工作簿中的另一个工作表作为最后更新的工作表,然后使用另一个工作表进行比较&突出了差异。
我知道这是一个不寻常的请求,并且不知道采用什么方法(试图提高效率)。执行此请求。
欢迎任何建议/提示。
这是已有代码的片段;
`Sub sbCopyRangeToAnotherSheet()
Sheets("Business Development").Range("A2:T50").Copy
Sheets("Combined").Activate
Range("A4:T50").Select
ActiveSheet.Paste
Sheets("Compliance").Range("A2:T50").Copy
Sheets("Combined").Activate
Range("A52:T101").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub`
答案 0 :(得分:0)
这就是我要做的事情:
1-在VBA模块中添加“哈希”功能,请参阅Create a hash value 。
2-在数据的下一栏(比如列E)中添加此功能:=base64sha1(CONCATENATE(A10;B10;C10;D10))
。
这将根据您在A,B,C,D列中的数据为您提供哈希码:每次值更改时,哈希码都会更改。
3-在更新宏中,在进行更新之前,请在F列中复制E列。
4-最后一件事是设置一个条件格式,检查E列中的值是否与F列中的值不同。
注意:如果您将列E的标题设置为Now()
,并且在步骤3-
中,您在列F之前插入一个新列(而不是覆盖以前的哈希码),您将拥有所有信息都知道哪一行被更改以及何时更改。
希望这有帮助!