学习EXCEL里面的宏怎样起步的
如果你留意visual basic里的帮助,可能会提高不少。
花了几分钟,写了个选号的宏,呵呵,仅供参考。
Sub ssq() '定义模块ssq()
Dim x(6), shu(33) '定义X数组,用于存放每组的6个数,定义shu数组,存放33个号码
Randomize '要产生无规律的随机数,需加入Randomize
zhu = InputBox("请输入需要随" & _
"机产生多少组数据", "**球机选", 5) '弹出对话框,请求输入需要得到几组数据
For y = 2 To 1 + zhu '输入几次,循环几次,y=2是从第二行开始
F...全部
如果你留意visual basic里的帮助,可能会提高不少。
花了几分钟,写了个选号的宏,呵呵,仅供参考。
Sub ssq() '定义模块ssq()
Dim x(6), shu(33) '定义X数组,用于存放每组的6个数,定义shu数组,存放33个号码
Randomize '要产生无规律的随机数,需加入Randomize
zhu = InputBox("请输入需要随" & _
"机产生多少组数据", "**球机选", 5) '弹出对话框,请求输入需要得到几组数据
For y = 2 To 1 + zhu '输入几次,循环几次,y=2是从第二行开始
For xx = 1 To 33 '循环33次
shu(xx) = xx '得到数组shu的第个值,shu(1)=1,shu(2)=2。
。。。
Next xx
For i = 1 To 6 '循环6次,得到红球
1 x(i) = Int(33 * Rnd() + 1) '得出6个红球写入数组
If shu(x(i)) <> "" Then '如果该号码未被取出,则
shu(x(i)) = "" '使该号码为空,即已取出状态
Else '否则
GoTo 1 '跳转到1标签处,重新赋予新的随机数
End If
Next i
For yy = 1 To 6
Cells(y, yy)。
Value = x(yy) '把每组随机产生的不重复的6个数写入每行的前6列单元格
Next yy
Cells(y, 7)。Value = Int(16 * Rnd() + 1) '每一行的第7列加入1-16的随机数
Next y
End Sub
解释:
Randomize:用于产生无规律的随机数,与rnd()合用
rnd():用于产生随机数,0至小于1的数之间。
InputBox():弹出请求输入的对话框,可赋值给变量
GoTo:无条件跳转到指定标签
for。。。next:循环,一般知道循环的次数是用,当判断条件时的循环用do while。。。
loop
if 条件 then 语句1 else 语句2 end if:如果条件成立则执行语句1,否则执行语句2
cells(行号,列号):excel专用函数,用于指定某一单元格,range()用于指定一个单元格或一块区域,可包含cells(),如range(cells(),cells())。
收起