VBA匹配范围内的范围

时间:2018-02-27 14:41:22

标签: excel-vba vba excel

如果范围中的任何值出现在另一个范围内,是否可以匹配。通常你必须在循环中运行你的匹配函数

For Each text in range
    Match(text,range,type)
Next text 

所以可以在没有循环的情况下执行此搜索吗?像

Match(source range, search range, type)
  

例子:如果你有约翰的范围,玛丽,安。然后你有3张100个名字。您想知道源范围中的任何名称是否出现在其他工作表的表中?

1 个答案:

答案 0 :(得分:0)

如果没有VBA,我们会使用类似的东西:

=SUMPRODUCT(COUNTIF(A1:A5,B1:B5)) > 0

所以对于VBA,我们可以EVALUATE()这样的事情。

(这需要相同大小的列表,因此请扩展较短的列表)

Sub KountKommon()
    x = Evaluate("=SUMPRODUCT(COUNTIF(A1:A6,B1:B6))")
    MsgBox "there are " & x & " items in common"
End Sub

enter image description here