Excel精英培训网

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

[已解决]请问我想让a1-a31随机生成数据范围在0-30之间,b1-b31随机生成数据范围在45-75这间....

[复制链接]
发表于 2013-6-27 18:17 | 显示全部楼层 |阅读模式
请问我想让a1-a31随机生成数据范围在0-30之间,b1-b31随机生成数据范围在45-75这间请问这个怎么用vba做,谢谢
最佳答案
2013-6-27 18:27
本帖最后由 youfang 于 2013-6-27 18:48 编辑

Sub 随机数()                              
Dim i%                                             '定义变量 i
For i = 1 To 31                                 '设定变量范围为i=1到31
    Cells(i, 1) = Int(Rnd * 30)              'A列产生随机数0-30
    Cells(i, 2) = Int(Rnd * 30) + 45     'B列先产生随机数0-30,+45后产生45-75的随机数
Next                                                '下一个
End Sub                                          '结束
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-6-27 18:24 | 显示全部楼层
本帖最后由 hoogle 于 2013-6-27 18:34 编辑

如果不可以重复的话  用随机抽取方法--两两换位法
回复

使用道具 举报

发表于 2013-6-27 18:27 | 显示全部楼层    本楼为最佳答案   
本帖最后由 youfang 于 2013-6-27 18:48 编辑

Sub 随机数()                              
Dim i%                                             '定义变量 i
For i = 1 To 31                                 '设定变量范围为i=1到31
    Cells(i, 1) = Int(Rnd * 30)              'A列产生随机数0-30
    Cells(i, 2) = Int(Rnd * 30) + 45     'B列先产生随机数0-30,+45后产生45-75的随机数
Next                                                '下一个
End Sub                                          '结束
回复

使用道具 举报

发表于 2013-6-27 18:32 | 显示全部楼层
Sub kl()
Range("a1") = "=RANDBETWEEN(1,31)"
Range("a1:a31").FillDown
Range("b1") = "=RANDBETWEEN(45,75)"
Range("b1:b31").FillDown
End Sub
回复

使用道具 举报

发表于 2013-6-27 19:13 | 显示全部楼层
直接在A1:A31输入公式=randbetween(0,30)
B1:B31输入公式=randbetween(45,75)
即可,没必要用VBA
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 13:25 , Processed in 0.231349 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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