Excel精英培训网

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

[分享] 个双色球小程序的代码

[复制链接]
发表于 2020-12-21 10:33 | 显示全部楼层 |阅读模式
今天写了一个 双色球小程序代码,现在拿出来分享一下。可以为vba菜鸟提供思路,同时也欢迎大神提意见。
sub 双色球()
Dim MR As Range
Dim ZD
ZD = Application.Count(Range("B5:G5"))

Range("B2:G2").ClearContents

Do
    xh = xh + 1

        Select Case ZD
            Case 0

                  For Each MR In Range("B2:G2")
                    Do
                    MR = Application.RandBetween(1, 33)
                    Loop Until Application.CountIf(Range("B2:G2"), MR) = 1
                    Next MR

                     Range("B3") = Application.RandBetween(1, 15)

                     With ActiveWorkbook.Worksheets("Sheet2").Sort
                        .SetRange Range("B2:G2")
                        .Apply
                    End With
           Case 1
                  For Each MR In Range("B2:f2")
                    Do
                    MR = Application.RandBetween(1, 33)
                    Loop Until Application.CountIf(Range("B2:f2"), MR) = 1
                    Next MR

                     Range("B3") = Application.RandBetween(1, 15)

                     With ActiveWorkbook.Worksheets("Sheet2").Sort
                        .SetRange Range("B2:f2")
                        .Apply
                     End With
           Case 2

                      For Each MR In Range("B2:E2")
                        Do
                        MR = Application.RandBetween(1, 33)
                        Loop Until Application.CountIf(Range("B2:E2"), MR) = 1
                        Next MR

                         Range("B3") = Application.RandBetween(1, 15)

                         With ActiveWorkbook.Worksheets("Sheet2").Sort
                            .SetRange Range("B2:E2")
                            .Apply
                         End With

           Case 3

                      For Each MR In Range("B2:D2")
                        Do
                        MR = Application.RandBetween(1, 33)
                        Loop Until Application.CountIf(Range("B2:D2"), MR) = 1
                        Next MR

                         Range("B3") = Application.RandBetween(1, 15)

                         With ActiveWorkbook.Worksheets("Sheet2").Sort
                            .SetRange Range("B2:D2")
                            .Apply
                         End With

           Case 4

                      For Each MR In Range("B2:C2")
                        Do
                        MR = Application.RandBetween(1, 33)
                        Loop Until Application.CountIf(Range("B2:C2"), MR) = 1
                        Next MR

                         Range("B3") = Application.RandBetween(1, 15)

                         With ActiveWorkbook.Worksheets("Sheet2").Sort
                            .SetRange Range("B2:C2")
                            .Apply
                         End With

           Case 5

                      For Each MR In Range("B2")
                        Do
                        MR = Application.RandBetween(1, 33)
                        Loop Until Application.CountIf(Range("B2"), MR) = 1
                        Next MR

                         Range("B3") = Application.RandBetween(1, 15)

                         With ActiveWorkbook.Worksheets("Sheet2").Sort
                            .SetRange Range("B2")
                            .Apply
                         End With

       End Select

Range("A2").Select
Loop Until xh = 150

End Sub




 楼主| 发表于 2020-12-22 09:43 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-23 20:41 , Processed in 0.176107 second(s), 3 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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