得用vba数组 我用了段代码,是假设数据相同时不考虑排列位置,就是说1 2 3排列与2 3 1为一组数写了段代码
Sub b()
Dim arr()
x = 8 ' 为了写在电子表格中查看,选较少的数据组合,楼主可将8改为33,最后一句代码不要
k = 0
Cells = ""
For i1 = 1 To x
For i2 = 2 To x
For i3 = 3 To x
For i4 = 4 To x
For i5 = 5 To x
For i6 = 6 To x
If i6 > i5 And i5 > i4 And i4 > i3 And i3 > i2 And i2 > i1 Then
ReDim Preserve arr(k)
arr(k) = i1 & " " & i2 & " " & i3 & " " & i4 & " " & i5 & " " & i6
k = k + 1
End If
Next i6
Next i5
Next i4
Next i3
Next i2
Next i1
Range("A1").Resize(UBound(arr) + 1) = Application.Transpose(arr)
End Sub
得用vba数组 我用了段代码,是假设数据相同时不考虑排列位置,就是说1 2 3排列与2 3 1为一组数写了段代码
Sub b()
Dim arr()
x = 8 ' 为了写在电子表格中查看,选较少的数据组合,楼主可将8改为33,最后一句代码不要
k = 0
Cells = ""
For i1 = 1 To x
For i2 = 2 To x
For i3 = 3 To x
For i4 = 4 To x
For i5 = 5 To x
For i6 = 6 To x
If i6 > i5 And i5 > i4 And i4 > i3 And i3 > i2 And i2 > i1 Then
ReDim Preserve arr(k)
arr(k) = i1 & " " & i2 & " " & i3 & " " & i4 & " " & i5 & " " & i6
k = k + 1
End If
Next i6
Next i5
Next i4
Next i3
Next i2
Next i1
Range("A1").Resize(UBound(arr) + 1) = Application.Transpose(arr)
End Sub