根据你的提示,使用负值调用RND后,基本可以实现,机制还不清楚,俺还没高手到这个程度啊O(∩_∩)O。代码如下,与之前用法类似,这个需要你在B1格输入户数上限的数字【就是你说的3070、736等等】。或者你直接在宏代码中“max = ……”这行手工输入数值。Sub suiji()Dim seed, msg, tmsg, num, maxseed = "20110109"msg = " "num = 0'取得区域上限,就是读取B1格的数值max = Range("B1").Value'初始化随机数Rnd (-1)randomize (seed & max)'取得59个不重复随机数Do Until num = 59 tnum = Int(Rnd() * max) + 1 If InStr(" " & msg & "樱并陆 ", tnum) = 0 Then num = num + 1 msg = msg & tnum & " " End IfLoop'将存储得到的随机数的字符串脊顷转成数组msg = Split(Trim(msg), "蔽悔 ")'将得到的随机数数组写进A1开始的一列单元格For num = 0 To UBound(msg) Range("A" & num + 1).Value = msg(num)Next MsgBox "OK !"End Sub
相关文章
-
excel文档里的下划线怎么打出来啊
2023-07-04 21:36 阅读(586) -
EXCEL如何下拉公式?急!
2023-07-04 00:20 阅读(590) -
excel表格怎么设置和取消分页预览
2023-07-01 19:23 阅读(645)
1 excel解密软件
632 阅读
2 excel如何四舍五入取整数
562 阅读
3 EXCEL的IF函数多个条件使用?
627 阅读
4 EXCEL text函数问题
596 阅读
5 Excel表格如何自动生成序号?
568 阅读