Public Function Compare(r1 As Range, r2 As Range) As Long
Dim r As Range, v As Variant, v2 As Variant
Dim rr As Range
For Each r In r1
v = r.Value
If v <> 0 And v <> "" Then
For Each rr In r2
v2 = rr.Value
If v = v2 Then Compare = Compare + 1
Next rr
End If
Next r
End Function
Run Code Online (Sandbox Code Playgroud)
此UDF比较2个范围并返回匹配值的数量.我想比较3个范围,以便找到同时在所有3个范围中出现的值.
非常感谢任何帮助.
Public Function Compare(r1 As Range, r2 As Range, r3 As Range) As Long
Dim r As Range, v As Variant, m1 As Variant, m2 As Variant
Dim rv As Long
rv = 0
For Each r In r1
v = r.Value
If v <> 0 And v <> "" And Not IsError(v) Then
m1 = Application.Match(v, r2, 0)
m2 = Application.Match(v, r3, 0)
If Not IsError(m1) And Not IsError(m2) Then
rv = rv + 1
End If
End If
Next r
Compare = rv
End Function
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |