|
楼主 |
发表于 2019-1-19 19:39
|
显示全部楼层
抛砖引玉,先贴出我的代码
- Sub dsmch()
- arr = Range("a1").CurrentRegion
- For i = 2 To UBound(arr)
- p = "": p3 = ""
- For j = 2 To UBound(arr, 2) '单双(10)
- p = p & arr(i, j) Mod 2
- Next
- If arr(i, 2) Mod 2 = 1 Then
- zf = "10": GoSub 100
- For j = 2 To Len(p2) Step 2
- If Val(Mid(p2, j, 1)) - Val(Mid(p2, j - 1, 1)) < 0 Then p3 = p3 & " " & Mid(p2, j - 1, 2)
- Next
- p2 = Mid(p3, 2)
- Else
- zf = "01": GoSub 100
- For j = 2 To Len(p2) Step 2
- If Val(Mid(p2, j, 1)) - Val(Mid(p2, j - 1, 1)) > 0 Then p3 = p3 & " " & Mid(p2, j - 1, 2)
- Next
- p2 = Mid(p3, 2)
- End If
- Cells(i, "o") = p2
- Next
- Exit Sub
- 100:
- s = 1: p2 = ""
- Do Until s = 0
- For k = 1 To Len(zf)
- Z = Mid(zf, k, 1)
- y = InStr(s, p, Z)
- If y <> 0 Then p2 = p2 & arr(i, y + 1): s = y + 1 Else Exit Do
- Next
- Loop
- Return
- End Sub
复制代码
|
|