将两行与数组公式进行比较以识别差异并返回“上次更改日期”

时间:2019-04-09 08:21:30

标签: arrays excel vba datestamp

我目前有一个由多个用户编辑的Excel表。我写了一些公式,将实际状态与上次保存的文件进行比较。它运作良好,但是对于任何数组公式,它都非常慢:

  1. 打开工作簿(Mirror FEP工作表)时,宏会复制所有条目
  2. Array公式比较原始表和镜像表中的相应行以查找任何差异;如果进行了某些修改,它将返回TODAY()。如果不是,则写上一个日期...

    =IFERROR(IF(AND(EXACT([@[PTI-Nr]]:[@KIFA];INDIRECT("'Mirror FEP'!" & "B" & (2+MATCH([@[EAARCH-Nr]]; Table3[EAARCH-Nr]; 0))):INDIRECT("'Mirror FEP'!"&SUBSTITUTE(ADDRESS(1; COUNTA($2:$2);4); 1; "")&(2+MATCH([@[EAARCH-Nr]]; Table3[EAARCH-Nr]; 0))))); INDIRECT("'Mirror FEP'!" & "A" & (2+MATCH([@[EAARCH-Nr]]; Table3[EAARCH-Nr]; 0))); TODAY()); TODAY())

即使在用户更改原始表的顺序时,为了在Mirror FEP中找到右行,公式也很复杂。

我熟悉VBA解决方案,但是我的用户始终需要Ctrl + Z。您对如何加快我的工作簿有任何建议吗?非常欢迎使用替代解决方案!

0 个答案:

没有答案