低调的英俊 春芽
共回答了19个问题采纳率:94.7% 举报
1年前 追问
Function lianhao1(rng As range)
Dim r As range, str1$, arr, d As Object
str1 = ""
Set d = CreateObject("Scripting.Dictionary")
For Each r In rng
If Not d.exists(r.Value) Then d.Add r.Value, ""
Next
arr = d.keys
For i = 0 To UBound(arr)
For j = i + 1 To UBound(arr)
If arr(i) = arr(j) - 2 Then
str1 = str1 arr(i) "," arr(j) ";"
ElseIf arr(i) = arr(j) + 2 Then
str1 = str1 arr(j) "," arr(i) ";"
End If
Next j
Next i
str1 = Left(str1, Len(str1) - 1)
lianhao1 = str1
End Function
用这个替换你截图那个函数。注意我写的是lianhao1
Function lianhao1(rng As range)
Dim r As range, str1$, arr, d As Object, str2$
str1 = "": str2 = ""
Set d = CreateObject("Scripting.Dictionary")
For Each r In rng
If Not d.exists(r.Value) Then d.Add r.Value, ""
Next
arr = d.keys
For i = 0 To UBound(arr)
For j = i + 1 To UBound(arr)
If arr(i) = arr(j) - 2 Then
If (arr(i) Mod 2) = 1 Then
str1 = str1 arr(i) "," arr(j) ";"
Else
str2 = str2 arr(i) "," arr(j) ";"
End If
ElseIf arr(i) = arr(j) + 2 Then
If (arr(i) Mod 2) = 1 Then
str1 = str1 arr(j) "," arr(i) ";"
Else
str2 = str2 arr(j) "," arr(i) ";"
End If
End If
Next j
Next i
If str2 = "" And str1 = "" Then
lianhao1 = ""
Else
If str1 <> "" Then str1 = "奇数:" Left(str1, Len(str1) - 1)
If str2 <> "" Then str2 = "偶数:" Left(str2, Len(str2) - 1)
lianhao1 = IIf(str1 = "", "", str1 "|") str2
End If
End Function
这个完善了的。用这个吧。
1年前1个回答
1年前1个回答
1年前1个回答
1年前2个回答
用vlookup函数如何找出两个表单的重复数据,并标出颜色?
1年前1个回答
1年前1个回答