gpt4 book ai didi

VBA:多维列表、数组、集合或字典的性能

转载 作者:行者123 更新时间:2023-12-04 13:46:40 24 4
gpt4 key购买 nike

我目前正在编写代码来组合包含不同版本数据的两个工作表。
因此,我首先想通过键列对它们进行排序,将它们组合起来,然后在输出工作表中标记版本之间的更改。

由于数据已经达到了 10000 行,并且有一天可能会超过 excel 的每工作表行数限制,我希望这些计算在工作表之外运行。它也应该表现得更好。

目前我正在考虑对第一个和第二个数据进行快速排序,然后比较每个键/行的数据集。使用比较结果随后相应地格式化单元格。



我只是想知道,我是否应该使用:

列表 OR 数组 OR 集合 OR 字典
作者 列表或数组或集合或字典

到目前为止,我无法确定这 16 种可能性之间的可编码性和性能差异。目前我正在实现 Array OF Arrays 方法,不断想知道这是否有意义?

提前致谢,感谢您的投入和智慧!

最佳答案

前段时间,我在客户端的宏上遇到了同样的问题。除了非常大的行数(超过 50000 并且还在增长)之外,当采用“标准方法”时,它存在从某个行数(大约 5000)开始非常缓慢的问题,即每个计算的输入行是从同一个工作表中读取的(上面几行);这种读写过程使这个过程变得越来越慢(显然,Excel 从第 1 行开始,越低的行,到达那里所需的时间越长)。
我依靠两种不同的解决方案改善了这种情况:首先,设置每个工作表的最大行数,一旦达到,就会创建一个新工作表并在那里继续读/写(从第一行开始)。另一个变化是将 Excel 中的读取/写入移动到从临时 .txt 文件读取并写入 Excel(在开始时读取所有行以填充文件)。这两个修改大大提高了速度(从半小时到几分钟)。
关于你的问题,我不会太依赖带有宏的数组(尽管我不确定这 10000 行中的每一行包含多少信息);但我想这是个人决定。我不太喜欢集合,因为它比数组效率低;字典也是一样。

我希望这个“简短”的评论会有所帮助。

关于VBA:多维列表、数组、集合或字典的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15656630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com