设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2015|回复: 4
打印 上一主题 下一主题

交流

[复制链接]
跳转到指定楼层
1#
发表于 2008-8-1 17:03:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天匆忙,写了一篇博客
详细见不重复随机数vba(原创)http://hi.baidu.com/huanhuanxiaozhua/blog为什么有些会数据不全。也可见附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2008-8-2 00:25:07 | 只看该作者
Sub 产生不重复随机整数()
Dim mr As Range
For Each mr In Range("a1:a10")
    Do 'do…loop until语句,指循环至loop until后的条件实现即终止
    mr = Int(Rnd() * 10 + 1)
    Loop Until Application.CountIf(Range("a1:a10"), mr) = 1
Next mr
End Sub

BY 兰色幻想

点击这里给我发消息

3#
发表于 2008-8-2 00:25:42 | 只看该作者
Sub aa()
  Range("a1:a65536") = ""
  Dim num As Long, arr(1 To 65536) As Long, arr2(1 To 65536, 0) As Long, x As Long
  t1 = Timer
 For x = 1 To 65536
   arr(x) = x
 Next x
 For x = 1 To 65536
   num = Int(Rnd() * (65536 - x) + 1)
   arr2(x, 0) = arr(num)
   arr(num) = arr(65536 - x + 1)
 Next x
 Range("a1").Resize(65536) = arr2
 MsgBox "运行时间" & Format(Timer - t1, "0.000") & "秒"
End Sub

BY兰色幻想
4#
 楼主| 发表于 2008-8-2 08:59:01 | 只看该作者
看了我的代码应该知道我要表达的东西,我说的是指定数据段,指定个数的不重复随机数,可能是我没有表达好,我的代码再看看估计可以改
5#
 楼主| 发表于 2008-8-2 09:18:29 | 只看该作者
哈哈,刚才试了一下小妖的 Sub 产生不重复随机整数()  这也是个很好的思路,我光停留再取数值段的不重复的随机数的思想上了,我觉得论坛多发些交流类的帖子,比较好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-27 12:25 , Processed in 0.098577 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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