2015-11-05 172 views
-1

我需要从另一个工作簿VBA约400000细胞做一个Vlookup。这些单元格全部在一个列中。并且应写入一个列。我已经知道,Vlookup是如何工作的,但是通过使用自动填充,我的运行时非常高。你有什么建议我可以批准吗?VBA:从另一个工作簿高效Vlookup

+0

请显示您的尝试。 [我如何问一个好问题?](http://stackoverflow.com/help/how-to-ask) – agold

回答

0

如果你能调整什么数据看起来像一个微小的量,你可能有兴趣在使用二进制搜索。自从我上次使用了一个(为小组练习签到程序编写代码)之后,我已经有一段时间了。 https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/implementing-binary-search-of-an-array,有助于建立它背后的想法。

如果你能按顺序对它们进行排序,按姓氏说(即时不确定你正在处理什么数据),然后添加一个数字顺序来用于二分查找。

编辑: 二进制搜索的推理是二进制搜索是需要的计算时间。迭代次数为log2(400000)vs 400000.因此,如果使用二进制搜索的数据越多,那么代替400000次迭代的次数就会多达19次。更快的时间。

如果您能够以允许您使用二分查找的方式操作数据,这只会是一种有益的方式。

因此,如果您可以给我们更多的背景知道您正在使用哪些数据以及您对这些数据有何限制,我们将能够提供更多有建设性的反馈。