ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > [彩票]如何依区间与出号条件返回所有可能的号码?

[彩票]如何依区间与出号条件返回所有可能的号码?

作者:绿色风 分类: 时间:2022-08-18 浏览:93
楼主
liuguansky
Q:如何依区间与出号条件返回所有可能的号码并用窗体返回结果?
A:用如下代码可以实现:
模块代码:

  1. Sub justtest()
  2.   Dim arr, arr1, i%, j%, str1$, k%, arr2() As Integer, s%, m%, str2$, str3$
  3.   arr = [d1:f2]
  4.   ReDim arr1(1 To 3, 1 To 2)
  5.   For i = 1 To 3
  6.     For j = 1 To 2
  7.     arr1(i, j) = Val(Mid(arr(2, i), 2 * j, 1))
  8.   Next j, i
  9.   For i = 0 To 999
  10.     str1 = Format(i, "000")
  11.     ReDim arr2(1 To 3)
  12.     For j = 1 To 3
  13.       str2 = Mid(str1, j, 1)
  14.       For k = 1 To 3
  15.         If InStr(1, arr(1, k), str2) > 0 Then arr2(k) = arr2(k) + 1
  16.     Next k, j
  17.     s = 0
  18.     For k = 1 To 3
  19.       If arr2(k) >= arr1(k, 1) And arr2(k) <= arr1(k, 2) Then
  20.         s = s + 1
  21.       End If
  22.     Next k
  23.     If s = 3 Then
  24.       m = m + 1
  25.       If m > 20 Then
  26.         str3 = str3 & Chr(10) & str1
  27.         m = 0
  28.         Else: str3 = str3 & " " & str1
  29.       End If
  30.     End If
  31.   Next i
  32.   Cells(Columns.Count, "i") = str3
  33.   UserForm1.Show
  34. End Sub

窗体代码:
  1. Private Sub UserForm_Initialize()
  2. Dim arr, i&
  3. arr = Split(Cells(Columns.Count, "i").Value, Chr(10))
  4. With ListBox2
  5. For i = 0 To UBound(arr)
  6. .AddItem arr(i)
  7. Next i
  8. End With
  9. End Sub

具体文件如下:

桌面.rar
2楼
成就滋味
学习了
3楼
MMonica605
谢谢分享!

免责声明

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

评论列表
sitemap