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球选号而发愁了,是不是迫不及待的要去碰碰运气了!
联系客服