Private Sub CommandButton2_Click()
Range("k2:bx65536").ClearContents
Application.Calculate
Range("k3:bx65536").Calculate
nRow = Range("b65536").End(xlUp).Row
Dim nStart, nStar5, nCoun5, nCount, s
s = 0
nStart = nRow - 30
nStar5 = nRow - 5
Dim c(49), e(49)
For k = 1 To 33
c(k) = 0
For i = nStart To (nRow)
For n = 3 To 8
If Cells(i, n) = k Then c(k) = c(k) + 1
Next:Next:Next
For k = 1 To 33
e(k) = 0
For i = nStar5 To (nRow + 0)
For n = 3 To 8
If Cells(i, n) = k Then e(k) = e(k) + 1
Next:Next:Next
'预测红球
Dim d(6), f(6), nKN(7), CS(13), lh(13)
For i = 1 To 17
d(0) = c(i): f(0) = e(i): nKN(1) = i
For j = 2 To 20
d(1) = c(i): f(1) = e(i): nKN(2) = j
For k = 4 To 25
d(2) = c(i): f(2) = e(i): nKN(3) = k
For l = 5 To 30
d(3) = c(i): f(3) = e(i): nKN(4) = l
For m = 11 To 32
d(4) = c(i): f(4) = e(i): nKN(5) = m
For n = 16 To 33
d(5) = c(i): f(5) = e(i): nKN(6) = n
Z = nKN(1) + nKN(2) + nKN(4) + nKN(5) + nKN(6)
R = d(0) + d(1) + d(2) + d(3) + d(4) + d(5)
X = f(0) + f(1) + f(2) + f(3) + f(4) + f(5)
For v = 0 To 12
CS(v) = 0: lh(v) = 0
For p = 0 To 5
If d(p) = v Then CS(v) = CS(v) + 1
If f(p) = v Then lh(v) = lh(v) + 1
Next:Next
If ((R = 25 Or R = 27 Or R = 33) And (X = 5 Or X = 7) And (Z = 88 Or Z = 94 Or Z = 100 Or Z = 66) And nKN(1) < nKN(2) And nKN(2) < nKN(3) And nKN(3) < nKN(4) And nKN(4) < nKN(5) And nKN(5) < nKN(6) And (N1 = 1 Or N1 = 3 Or N1 = 5 Or N1 = 6) And (N6 = 22 Or N6 = 24 Or N6 = 26 Or N6 = 27 Or N6 = 28 Or N6 = 31) And (N2 < 11)) Then
If ((CS(2) + CS(4)) >= 1 And CS(7) = 0 And CS(8) >= 1 And CS(9) <= 1 And CS(2) <= 2 And CS(6) >= 1 And CS(5) <= 2 And CS(6) <= 3 And CS(4) <= 1 And (CS(2) >= 2 Or CS(5) = 2 Or CS(6) >= 2) And lh(0) >= 2 And lh(0) <= 3 And lh(1) >= 1 And lh(1) <= 2 And (lh(2) + CS(3)) >= 1) Then
s=s+1
Cells(nRow + s, 3) = nKN(1): Cells(nRow + s, 4) = nKN(2): Cells(nRow + s, 5) = nKN(3)
Cells(nRow + s, 6) = nKN(4): Cells(nRow + s, 7) = nKN(5): Cells(nRow + s, 8) = nKN(6)
End If
End If
For p = 0 To 5
Cells(nRow + s, 10 + p) = d(p): Cells(nRow + s, 16 + p) = f(p)
For v = 0 To 12
Cells(nRow + s, 22 + v) = CS(v): Cells(nRow + s, 35 + v) = lh(v)
Next: Next: Next: Next: Next: Next:Next: Next
End Sub
抛砖引玉,程序还待完善!(表格内运行慢,没测试出结果,C语言的结果正确)