http://topic.csdn.net/u/20080425/17/957dd0cc-e4e5-4596-9065-8f304a86a03c.html
修改后
又出现了 下标越界Dim strIntsz(50) As String '存放输入的10行数据
Dim intData(50, 32) As Double '存放每行分离出来的数字
Dim strOut As String
'此函数用于比较任意三十组 数组中有没有相同数,有输出相同的数,没有输出“NO Find!”
Private Function strBJ(ByRef a() As Double, ByRef b() As Double, ByRef c1() As Double, ByRef c2() As Double, ByRef c3() As Double, ByRef c4() As Double, ByRef c5() As Double, ByRef c6() As Double, ByRef c7() As Double, ByRef c8() As Double, ByRef c9() As Double, ByRef c10() As Double, ByRef c11() As Double, ByRef c12() As Double, ByRef c13() As Double, ByRef c14() As Double, ByRef c15() As Double, ByRef c16() As Double, ByRef c17() As Double, ByRef c18() As Double, ByRef c19() As Double, ByRef c20() As Double, ByRef c21() As Double, ByRef c22() As Double, ByRef c23() As Double, ByRef c24() As Double, ByRef c25() As Double, ByRef c26() As Double, ByRef c27() As Double, ByRef c28() As Double) As String
Dim smtp(50) As Double
Dim intCont As Integer
Dim str As String
intCont = 0
For i = 1 To 60
For j = 1 To 60
If a(i) = b(j) Then
intCont = intCont + 1
smtp(intCont) = a(i)
End If
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c1(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c2(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c3(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c4(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c5(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c6(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c7(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c8(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c9(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c10(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c11(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c12(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c13(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c14(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c15(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c16(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c17(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c18(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c19(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c20(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c21(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c22(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c23(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c24(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c25(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c26(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c27(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next iFor i = 1 To intCont
For j = 1 To 60
If smtp(i) = c28(j) Then str = str + CStr(smtp(i)) + " "
Next j
Next i
If str = "" Then
strBJ = "No Find!"
Else
strBJ = str
End If
End FunctionPrivate Sub Command2_Click() '
' ReDim intData(10, 10) As Double
Dim X1(32) As Double
Dim X2(32) As Double
Dim X3(32) As Double
Dim X4(32) As Double
Dim X5(32) As Double
Dim X6(32) As Double
Dim X7(32) As Double
Dim X8(32) As Double
Dim X9(32) As Double
Dim X10(32) As Double
Dim X11(32) As Double
Dim X12(32) As Double
Dim X13(32) As Double
Dim X14(32) As Double
Dim X15(32) As Double
Dim X16(32) As Double
Dim X17(32) As Double
Dim X18(32) As Double
Dim X19(32) As Double
Dim X29(32) As Double
Dim X20(32) As Double
Dim X21(32) As Double
Dim X22(32) As Double
Dim X23(32) As Double
Dim X24(32) As Double
Dim X25(32) As Double
Dim X26(32) As Double
Dim X27(32) As Double
Dim X28(32) As Double
Dim X30(32) As Double
Dim n As Integer
Dim v As Variant
'下面程序将10行数字分离并存入 二维数组中
For i = 1 To 50
v = Split(strIntsz(i), " ")
For j = 1 To (UBound(v) + 1)
intData(i, j) = CStr(v(j - 1))
Debug.Print v(j - 1)
Next j
Next i
n = 1
Do While n <= 22 '选择任意三十组组合
For i = n + 28 To 50
For j = 1 To 50X1(j) = intData(1, j)
X2(j) = intData(n, j)
X3(j) = intData(n + 1, j)
X4(j) = intData(n + 2, j)
X5(j) = intData(n + 3, j)
X6(j) = intData(n + 4, j)
X7(j) = intData(n + 5, j)
X9(j) = intData(n + 6, j)
X10(j) = intData(n + 7, j)
X11(j) = intData(n + 8, j)
X12(j) = intData(n + 9, j)
X13(j) = intData(n + 10, j)
X14(j) = intData(n + 11, j)
X15(j) = intData(n + 12, j)
X16(j) = intData(n + 13, j)
X17(j) = intData(n + 14, j)
X18(j) = intData(n + 15, j)
X19(j) = intData(n + 16, j)
X20(j) = intData(n + 17, j)
X21(j) = intData(n + 18, j)
X22(j) = intData(n + 19, j)
X23(j) = intData(n + 20, j)
X24(j) = intData(n + 21, j)
X25(j) = intData(n + 22, j)
X26(j) = intData(n + 23, j)
X27(j) = intData(n + 24, j)
X28(j) = intData(n + 25, j)
X29(j) = intData(n + 26, j)
X30(j) = intData(n + 27, j)
Next j
strOut = strBJ(X1(), X2(), X3(), X4(), X5(), X6(), X7(), X8(), X9(), X10(), X19(), X18(), X17(), X16(), X15(), X14(), X13(), X12(), X11(), X20(), X21(), X22(), X23(), X24(), X25(), X26(), X27(), X28(), X29(), X30())
Print CStr(n) & "&" & CStr(n + 1) & "&"; CStr(i) & ": " & strOut
strOut = ""
Next i
n = n + 1
Loop
End Sub下标越界到这里
X1(j) = intData(1, j)
怎么修改呢?