- Sub test()
- Dim ttl%, chs%, re%(), tmp%()
- ttl = 33: chs = 6
- ReDim re%(1 To Application.WorksheetFunction.Combin(ttl, chs), 1 To chs)
- ReDim tmp%(1 To chs)
- Call dgzh(re, 1, 0, tmp, ttl, chs, 0)
- End Sub
- Sub dgzh(rnd_array, yn%, n%, t_array, ttl%, chs%, cnt&)
- Dim i%, j%
- For i = n + 1 To ttl - chs + yn
- If yn <= chs Then
- t_array(yn) = i
- Call dgzh(rnd_array, yn + 1, i, t_array, ttl, chs, cnt)
- Else
- cnt = cnt + 1
- For j = 1 To chs
- rnd_array(cnt, j) = t_array(j)
- Next
- Exit Sub
- End If
- Next
- End Sub
复制代码 最终结果在re这个数组里,由于33选6有110多w组合,一次性无法导出到单元格。如果需要请回复哈 |