|
发表于 2018-2-20 17:15
来自手机
|
显示全部楼层
本帖最后由 lss001 于 2018-2-21 15:46 编辑
Sub ps() '7位数组合最长降序
Dim x(1 To 127)
y = Application.Transpose([a1:a7]) '指定单元格
For i = 1 To 7
x(i) = y(i)
For j = i + 1 To 7
k = k + 1
If y(i) > y(j) Then
x(7 + k) = y(i) & "," & y(j)
End If
For l = j + 1 To 7
m = m + 1
If (y(i) > y(j)) * (y(j) > y(l)) Then
x(28 + m) = y(i) & "," & y(j) & "," & y(l)
End If
For n = l + 1 To 7
o = o + 1
If (y(i) > y(j)) * (y(j) > y(l)) * (y(l) > y(n)) Then
x(63 + o) = y(i) & "," & y(j) & "," & y(l) & "," & y(n)
End If
For p = n + 1 To 7
q = q + 1
If (y(i) > y(j)) * (y(j) > y(l)) * (y(l) > y(n)) * (y(n) > y(p)) Then
x(98 + q) = y(i) & "," & y(j) & "," & y(l) & "," & y(n) & "," & y(p)
End If
For r = p + 1 To 7
s = s + 1
If (y(i) > y(j)) * (y(j) > y(l)) * (y(l) > y(n)) * (y(n) > y(p)) * (y(p) > y(r)) Then
x(119 + s) = y(i) & "," & y(j) & "," & y(l) & "," & y(n) & "," & y(p) & "," & y(r)
End If
For t = r + 1 To 7
u = u + 1
If (y(i) > y(j)) * (y(j) > y(l)) * (y(l) > y(n)) * (y(n) > y(p)) * (y(p) > y(r)) * (y(r) > y(t)) Then
x(126 + u) = y(i) & "," & y(j) & "," & y(l) & "," & y(n) & "," & y(p) & "," & y(r) & "," & y(t)
End If
Next t, r, p, n, l, j, i
For g = 127 To 1 Step -1
If x(g) <> "" Then Cells(1, 2) = x(g): Exit Sub
'只提取最后一组符合要求结果
Next
End Sub |
|