打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel之VBA常用功能应用篇:利用Excel VBA生成随机SS球号码

1.打开一个空Excel的宏开发工具

2.贴入下列Excel VBA随机生成SS球号码宏代码

Sub ssq()

'定义变量SS球组数num,随机数接收变量rnum,循环变量i,j

Dim num As Integer, rdnum As Integer, i As Integer, j As Integer

'定义range对象所有赋值单元格allrg,红色球赋值单元格hrg,蓝色球赋值单元格lrg

Dim allrg As Range, hrg As Range, lrg As Range

'定义SS球存储数组

Dim ssqArr()

'定义字典

Dim dic

'声明一个自动断

Set dic = CreateObject("Scripting.Dictionary")

'提示用户输入SS球数,并将输入的数量赋值给变量num

num = Application.InputBox("请输入需要的SS球数:", Default:=1, Title:="", Type:=1)

'判断输入的数字必须为大于0的整数

If num - Fix(num) <> 0 Or num <= 0 Then '输入不是大于0的整数则

'提示用户要输入大于0的整数

MsgBox "请输入大于0的整数!"

Else '输入的是大于0的整数则

'从新定义存储SS球的数组大小,行数为用户输入的号码数,列数固定7列

ReDim ssqArr(1 To num, 1 To 7)

'清楚sheet1单元格的内容

Sheet1.Cells.Clear

'开始循环SS球号码

For i = 1 To num

'生成6位红色球数字

For j = 1 To 6

'判断随机数在当前SS球号码是否重复,重复则重新生成

Do

Randomize

rdnum = Int(33 * Rnd + 1)

Loop While dic(rdnum) = 1

dic(rdnum) = 1

'不重复则将红色球号码存入数组,如果单位数则前面补0

ssqArr(i, j) = Format(rdnum, "00")

Next

dic.RemoveAll

Randomize

'生成蓝色球号码,如果单位数则前面补0

ssqArr(i, 7) = Format(Int(16 * Rnd + 1), "00")

Next

'赋值allrg,hrg,lrg单元格区域

With Sheet1

Set allrg = .Range("a1:g" & num)

Set hrg = .Range("a1:f" & num)

Set lrg = .Range("g1:g" & num)

End With

'设置SS球全部单元格区域格式

With allrg

'设置单元格为文本格式

.NumberFormatLocal = "@"

'设置文本加粗

.Font.Bold = 1

'设置字体大小14

.Font.Size = 14

End With

'设置红色球号码单元格字体为红色

hrg.Font.Color = RGB(255, 0, 0)

'设置蓝色球号码单元格字体为蓝色

lrg.Font.Color = RGB(0, 0, 255)

'将SS球数组赋值给到对应单元格区域

allrg = ssqArr

End If

End Sub

3.新建【生成】按钮并绑定宏“ssq”

别忘了设置按钮大小、位置固定

4.点击【生成】按钮执行看看效果

(1)输入生成的SS球号码组数

(2)生成随机SS球号码

完美,再也不用为SS球选号而发愁了,是不是迫不及待的要去碰碰运气了!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
VBA:提取单元格中数据
在excel表格里,在b列如何实现b=b a这样的循环引用?
【VBA】excel中 #N/A = Error 2042
使用VBA读取指定Excel文件指定Sheet指定单元格的内容
《神奇的VBA》编程:标识重复数据
Excel去除重复值方法汇总
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服