Excel精英培训网

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

[已解决]VBA等待随机时间后执行下一个

[复制链接]
发表于 2016-1-5 15:59 | 显示全部楼层 |阅读模式
本帖最后由 nancy66317 于 2016-1-5 16:04 编辑

有个VBA程序,因特殊需要,在循环时需要等待随机时间,不知道这句语句怎么表达
Sub 宏1()
For x = 1 To 10
Range("C" & x) = Range("A" & x) + Range("B" & x)
'增加随机等待时间
Sub 宏1()
For x = 1 To 10
Range("C" & x) = Range("A" & x) + Range("B" & x)
'增加随机等待时间,这红色是固定10秒,我需的等待时间是在1到3分钟之间的随机时间
d = Now
Do While Now - d < TimeValue("00:00:10")
DoEvents
Loop


Next

End Sub



Next

End Sub

最佳答案
2016-1-5 16:15
d = Timer
随机时间 = Rnd() * 10 '10为随机范围
Do While Timer - d < 随机时间
    DoEvents
Loop
随机等待时间.jpg
发表于 2016-1-5 16:11 | 显示全部楼层
  1. Sub auto_open()
  2. a = Rnd() * 10 \ 1
  3. Application.OnTime Now + TimeValue("00:00:0" & a), "test"
  4. End Sub

  5. Sub test()
  6. MsgBox Time
  7. Call auto_open
  8. End Sub

复制代码
放到模块里
回复

使用道具 举报

发表于 2016-1-5 16:15 | 显示全部楼层    本楼为最佳答案   
d = Timer
随机时间 = Rnd() * 10 '10为随机范围
Do While Timer - d < 随机时间
    DoEvents
Loop
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-4 18:10 , Processed in 0.357251 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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