Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5754|回复: 4

[已解决]请教一个数字排列组合的问题

[复制链接]
发表于 2012-9-23 14:04 | 显示全部楼层 |阅读模式
从1到33,这33个号按每6个号组合一下,求全部组合,,,可以排出一百多万个组合,因表格不够用,再说速度也慢,,所以想把这些组合先放在内存里,如何做呢
最佳答案
2012-9-23 18:23
得用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
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2012-9-23 16:01 | 显示全部楼层
回复

使用道具 举报

发表于 2012-9-23 18:23 | 显示全部楼层    本楼为最佳答案   
得用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
回复

使用道具 举报

发表于 2012-9-23 18:26 | 显示全部楼层
数组arr就是全部组合
回复

使用道具 举报

 楼主| 发表于 2012-9-24 07:35 | 显示全部楼层
白雪高山 发表于 2012-9-23 18:23
得用vba数组 我用了段代码,是假设数据相同时不考虑排列位置,就是说1 2 3排列与2 3 1为一组数写了段代 ...

先谢谢!我试试看,,,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-17 00:57 , Processed in 0.265036 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表