POe*_*POe 6 vba multidimensional-array
我目前正在编写代码来合并包含不同版本数据的两个工作表.因此,我首先要通过键列对它们进行排序,组合它们,然后在输出工作表中标记版本之间的更改.
由于数据已达到数万行,并且有一天可能超过excel的每工作表行数限制,我希望这些计算在工作表之外运行.它也应该表现得更好.
目前我正在考虑Quicksort的第一和第二数据,然后比较每个键/行的数据集.使用比较结果随后相应地格式化单元格.
我只是想知道,我是否应该使用:
列表或数组或者集合,字典
的列表或数组或集合或词典
到目前为止,我无法确定这16种可能性之间在可编码性和性能方面的差异.目前我正在实现一种阵列阵列方法,不断想知道这是否有意义?
在此先感谢,感谢您的投入和智慧!
前段时间,我在一个客户端的宏上也遇到了同样的问题。除了行数确实很大(超过 50000 行并且还在不断增长)之外,当采用“标准方法”时(即每个行的计算输入),它还存在从特定行数(大约 5000 行)开始速度非常慢的问题。行是从同一个工作表中读取的(上面几行);这种读取和写入的过程使该过程变得越来越慢(显然,Excel 从第 1 行开始,越低的行,到达那里所需的时间就越长)。我通过依靠两种不同的解决方案来改善这种情况:首先,设置每个工作表的最大行数,一旦达到,就会创建一个新的工作表,并在那里继续读取/写入(从第一行开始)。另一个更改是将 Excel 中的读/写转移到从临时 .txt 文件中读取并写入 Excel(所有行都在开始时读取以填充文件)。这两次修改大大提高了速度(从半小时到几分钟)。关于你的问题,我不会太依赖带有宏的数组(尽管我不确定这 10000 行中每一行包含多少信息);但我想这是个人决定。我不太喜欢集合,因为它比数组效率低;字典也是如此。
我希望这个“简短”的评论能够有所帮助。