ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > [彩票]如何依组选方案生成所有组合号码?

[彩票]如何依组选方案生成所有组合号码?

作者:绿色风 分类: 时间:2022-08-17 浏览:125
楼主
liuguansky
Q:如何依组选方案生成所有组合号码?
  [大代码7-9,中代码3-6,小代码0-2,如果我选择大中小组合的话,可以生成 730 731 732 这样的号码,如何生成所有的组合?]
A:用如下代码可以实现:
  1. Sub justtest()
  2.   Dim str1$, arr1, i%, j%, str2$, str3$, str4$, arrre
  3.   str1 = Application.InputBox("请输入组选方案:", Default:="大中小")
  4.   If Len(str1) = 3 Then
  5.     ReDim arr1(1 To 3)
  6.     For i = 1 To 3
  7.       arr1(i) = Mid(str1, i, 1)
  8.       j = j + IIf(InStr(1, "大中小", arr1(i)) > 0, 1, 0)
  9.     Next i
  10.     If j = 3 Then
  11.       For i = 1 To 3
  12.         Select Case arr1(i)
  13.           Case "大"
  14.             str2 = str2 & "[7-9]"
  15.           Case "中"
  16.             str2 = str2 & "[3-6]"
  17.           Case "小"
  18.             str2 = str2 & "[0-2]"
  19.         End Select
  20.       Next
  21.       For i = 1 To 999
  22.         str3 = Format(i, "000")
  23.         If str3 Like str2 Then
  24.           str4 = str4 & "," & str3
  25.         End If
  26.       Next i
  27.       Else: Exit Sub
  28.     End If
  29.     Else: Exit Sub
  30.   End If
  31.   str4 = Mid(str4, 2)
  32.   arrre = Split(str4, ",")
  33.   Range("a:a").Clear
  34.   Cells(1, 1).Resize(UBound(arrre) + 1, 1) = Application.Transpose(arrre)
  35. End Sub
2楼
成就滋味
这种是不是也可以用函数来实现?

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap