|
'限制条件:
'1)各参数都是一行区域
'2)各参数包含的元素个数,都相同
Function SameNumber(ParamArray A() As Variant)
Dim B, C, D, i%, j%, str$
SameNumber = 0
C = A(0): D = C
ReDim C(1 To 1, 1 To UBound(C, 2))
'1)求个数。遍历每个子区,只有第1个子区是直接赋值给C,其它子区是和C比较。
For i = 0 To UBound(A)
B = A(i)
For j = LBound(C, 2) To UBound(C, 2)
C(1, j) = IIf(i, C(1, j) = B(1, j), B(1, j))
Next j
Next i
'只有为True的位置上,是各子区都相同的情况。
For j = LBound(C, 2) To UBound(C, 2)
If C(1, j) Then SameNumber = SameNumber + 1
Next j
'2)求实际数字的列表。根据位置,找出对应的值。
For j = LBound(C, 2) To UBound(C, 2)
If C(1, j) Then str = str & "," & D(1, j)
Next j
'3)返回结果
If str <> "" Then str = "(" & Mid(str, 2) & ")"
SameNumber = SameNumber & str
End Function
求相同6.rar
(10.25 KB, 下载次数: 5)
|
|