【发布时间】:2015-08-22 11:45:30
【问题描述】:
我已经在我的宏中的这行代码停留了一周,并阅读并尝试了多种方法来解决这个问题。
我必须声明我对 VBA 不是很好,所以请耐心等待,我希望能对某些步骤进行象征性的解释。
我想要做的其实很简单,我有一个大约 1000 行的大型数据库,我想尽可能高效地匹配相同行号的两列(有重复项),例如:
第 1 列:詹姆斯、约翰、约翰、詹姆斯、杰布
第 2 栏:史密斯、李、史密斯、威尔斯、布莱克
我想找到带有“John”和“Smith”的行,简单的答案是第 3 行。
但更复杂的是匹配目标是一个变量,例如
dim name1 as string
dim name2 as string
dim r as long
name1 = "John"
name2 = "Smith"
r = application.worksheetfunction.match(name1&name2,.range("A:A")&.range("B:B"),0)
这个函数必须通过宏中的多次迭代来重复。
例如,我尝试使用 for i=1 到 1000 并通过 if 参数单独匹配两列,但据我所知,我无法将行号从循环中取出,即 r = result .row 在循环外变为空。
非常感谢您阅读本文!这个论坛对我现有的代码做出了很大贡献,我非常感谢迄今为止的帮助。
【问题讨论】: