我每周有一项任务,需要更新一份报告(目前刚刚超过 50K 行),该报告每周都会增长约 500 行。手动添加新数据后,我运行下面的代码来Sumifs()
汇总数据。
数据结构为:A 至 C 列是标准列(数字-字母-数字),D 列包含要求和的数量(整数)。数据是连续的。我的宏将Sumifs()
公式放入 E 列 \xe2\x80\x93 中,覆盖其中的 \xe2\x80\x99s 。
我的问题是:这个任务可以更快地完成吗?目前,我只需要一分多钟的时间来运行宏,但随着数据的增长,时间会变得更长。
\n该网站上有很多关于使用数组更快地完成任务的内容,但这些示例对我来说都没有多大意义,如果可能的话,我宁愿不使用它们。
\nSub MySumIfs()\nDim LastRow As Long\n\nLastRow = Sheet1.Range("A1").End(xlDown).Row\n\nWith Sheet1.Range("E2:E" & LastRow)\n .FormulaR1C1 = "=sumifs(R2C4:R" & LastRow & "C4, R2C1:R" & LastRow & "C1, RC1, R2C2:R" & LastRow & "C2, RC2, R2C3:R" & LastRow & "C3, RC3)"\n .Value = .Value\nEnd With\n\nEnd Sub\n
Run Code Online (Sandbox Code Playgroud)\n