本帖最后由 0wchz 于 2021-5-8 10:35 编辑
aa=+27-+3-,33,21,15+24-+19-,31+13-,1,25+23-+20-,26,2,8+11-,5+29-,17
aa=+27-+3-,33,21,15+24-+19-,31+13-,1,25+23-+20-,26,2,8+14-,32+29-,17
有两组数组,用加号后减号前的数做基本数有九个(27,3,24,19,13,23,20,11,29)下一行的基本数是(27,3,24,19,13,23,20,14,29)9个基本数可以组成combine(9,6)=84个六位数,然后分别把这84个基本数替换为-号后的数也是六位数,把所有结果输出到文本e:\6位数.txt 里来。谢谢
数组存为 [6位数原.txt],用代码导入打开 6位数原.txt,求出e:\6位数.txt 谢谢
Sub weis6()
Sheets("Sheet16").Columns("k:r").Clear
Sheets("Sheet15").UsedRange.Clear
''End
With Sheets("Sheet15")
Open "e:\6位数原.txt" For Input As #2
Do While Not EOF(2)
Line Input #2, xx
s6c = 0: xc = xc + 1: kc = 0
x1 = Split(xx, "=")(1) '': MsgBox "x1=" & x1
s6 = "":
If Sheets("Sheet15").[a1] = "" Then ajj = 1 Else ajj = Sheets("Sheet15").[a65536].End(3).Row + 1
If UBound(Split(x1, "+")) = 8 Then
For i1 = 1 To 3 ''UBound(Split(x1, "+")) ''3-,9,27,15
For i2 = i1 + 1 To 4
For i3 = i2 + 1 To 5
For i4 = i3 + 1 To 6
For i5 = i4 + 1 To 7
For i6 = i5 + 1 To 8
s6 = Split(Split(x1, "+")(i1), "-")(0) & "," & Split(Split(x1, "+")(i2), "-")(0) & "," & Split(Split(x1, "+")(i3), "-")(0) _
& "," & Split(Split(x1, "+")(i4), "-")(0) & "," & Split(Split(x1, "+")(i5), "-")(0) & "," & Split(Split(x1, "+")(i6), "-")(0)
For k = 1 To 33
If InStr("," & s6 & ",", "," & k & ",") > 0 Then kc = kc + 1: Sheets("Sheet15").Cells(ajj, kc) = k: Sheets("Sheet16").Cells(ajj, 10 + kc) = k: Sheets("Sheet16").Cells(ajj, "q") = ajj: Sheets("Sheet16").Cells(ajj, "r") = xc ''jia sheet16
Next k
For j1 = 1 To UBound(Split(Split(Split(x1, "+")(i1), "-")(1), ","))
If Split(Split(Split(x1, "+")(i1), "-")(1), ",")(j1) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i1), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i1), "-")(1), ",")(j1) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j1
For j2 = 1 To UBound(Split(Split(Split(x1, "+")(i2), "-")(1), ","))
If Split(Split(Split(x1, "+")(i2), "-")(1), ",")(j2) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i2), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i2), "-")(1), ",")(j2) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j2
For j3 = 1 To UBound(Split(Split(Split(x1, "+")(i3), "-")(1), ","))
If Split(Split(Split(x1, "+")(i3), "-")(1), ",")(j3) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i3), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i3), "-")(1), ",")(j3) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j3
For j4 = 1 To UBound(Split(Split(Split(x1, "+")(i4), "-")(1), ","))
If Split(Split(Split(x1, "+")(i4), "-")(1), ",")(j4) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i4), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i4), "-")(1), ",")(j4) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j4
For j5 = 1 To UBound(Split(Split(Split(x1, "+")(i5), "-")(1), ","))
If Split(Split(Split(x1, "+")(i5), "-")(1), ",")(j5) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i5), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i5), "-")(1), ",")(j5) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j5
For j6 = 1 To UBound(Split(Split(Split(x1, "+")(i6), "-")(1), ","))
If Split(Split(Split(x1, "+")(i6), "-")(1), ",")(j6) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i6), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i6), "-")(1), ",")(j6) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j6
Next i6, i5, i4, i3, i2, i1
End If
''''''''''''''''''''
If UBound(Split(x1, "+")) = 9 Then
For i1 = 1 To 4 ''UBound(Split(x1, "+")) ''3-,9,27,15
For i2 = i1 + 1 To 5
For i3 = i2 + 1 To 6
For i4 = i3 + 1 To 7
For i5 = i4 + 1 To 8
For i6 = i5 + 1 To 9
s6 = Split(Split(x1, "+")(i1), "-")(0) & "," & Split(Split(x1, "+")(i2), "-")(0) & "," & Split(Split(x1, "+")(i3), "-")(0) _
& "," & Split(Split(x1, "+")(i4), "-")(0) & "," & Split(Split(x1, "+")(i5), "-")(0) & "," & Split(Split(x1, "+")(i6), "-")(0)
For k = 1 To 33
If InStr("," & s6 & ",", "," & k & ",") > 0 Then kc = kc + 1: Sheets("Sheet15").Cells(ajj, kc) = k: Sheets("Sheet16").Cells(ajj, 10 + kc) = k: Sheets("Sheet16").Cells(ajj, "q") = ajj: Sheets("Sheet16").Cells(ajj, "r") = xc ''jia sheet16
Next k
For j1 = 1 To UBound(Split(Split(Split(x1, "+")(i1), "-")(1), ","))
If Split(Split(Split(x1, "+")(i1), "-")(1), ",")(j1) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i1), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i1), "-")(1), ",")(j1) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j1
For j2 = 1 To UBound(Split(Split(Split(x1, "+")(i2), "-")(1), ","))
If Split(Split(Split(x1, "+")(i2), "-")(1), ",")(j2) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i2), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i2), "-")(1), ",")(j2) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j2
For j3 = 1 To UBound(Split(Split(Split(x1, "+")(i3), "-")(1), ","))
If Split(Split(Split(x1, "+")(i3), "-")(1), ",")(j3) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i3), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i3), "-")(1), ",")(j3) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j3
For j4 = 1 To UBound(Split(Split(Split(x1, "+")(i4), "-")(1), ","))
If Split(Split(Split(x1, "+")(i4), "-")(1), ",")(j4) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i4), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i4), "-")(1), ",")(j4) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j4
For j5 = 1 To UBound(Split(Split(Split(x1, "+")(i5), "-")(1), ","))
If Split(Split(Split(x1, "+")(i5), "-")(1), ",")(j5) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i5), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i5), "-")(1), ",")(j5) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j5
For j6 = 1 To UBound(Split(Split(Split(x1, "+")(i6), "-")(1), ","))
If Split(Split(Split(x1, "+")(i6), "-")(1), ",")(j6) <> "" Then
kk = kk + 1
For m1 = ajj To .[a65536].End(3).Row
st = "," & s6 & ","
st = Replace(st, "," & Split(Split(x1, "+")(i6), "-")(0) & ",", "," & Split(Split(Split(x1, "+")(i6), "-")(1), ",")(j6) & ",")
kj = 0
For m = 1 To 33
If InStr(st, "," & m & ",") > 0 Then kj = kj + 1: .Cells(ajj + kk, kj) = m: Sheets("Sheet16").Cells(ajj + kk, 10 + kj) = m '''jia sheet16
Next m
Next m1
End If
Next j6
Next i6, i5, i4, i3, i2, i1
End If
z10:
Loop
Close #2
End With
End Sub
请改代码,谢谢
|