永发信息网

如何用VBA自动重复和停止一个方法?

答案:2  悬赏:0  手机版
解决时间 2021-03-21 21:40
例如:
Sub 函数()
Sheet1.Cells(1, "A") = Sheet1.Cells(1, "A") + 1
End Sub

如何按一个按钮就能每隔10秒自动执行一次该函数,又如何按一个按钮停止该函数自动执行?
最佳答案
'开个窗体,加两个按钮,一个叫startButton,另一个叫stopButton,把下面代码贴到窗体的代码中。

Dim StopAction As Boolean '用来判断是否停止自动执行

Sub 函数()
Dim time1, time2
time1 = Timer()
Do
If Timer() - time1 > 10 Then
Sheet1.Cells(1, "A") = Sheet1.Cells(1, "A") + 1
time1 = Timer()
Else
DoEvents '把系统控制权让给其他进程
End If
If StopAction = True Then Exit Sub
Loop
End Sub
Private Sub startButton_Click()
StopAction = False
Call 函数
End Sub
Private Sub stopButton_Click()
StopAction = True
End Sub
全部回答
首先vba是单线程的,你这个click过程如果是有for循环的话可以在循环中加一个doevents,然后在定义一个公共布尔变量并放在循环里用if判断,如果在新按钮中设置公共变量为true则用exit sub退出click过程
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
自信是骨,没有了自立,人生就疲软了,仿写句
tga饥荒作弊码为什么开地洞就无效
我和老公离婚了,当时买房子的时候是我们俩的
(1)作者是从哪个角度来写“泪水”的?(不超过
安全生产是指,2016年全民国家安全教育日哪一
我该考书法还是考美术?
提单确认 信用证号码错误
日本那个很红的四国混血美女叫什么名字?我只
wp版地牢猎手5哪个区域买钻石最便宜
陆游简历
裙袂沾了花香的情侣网名的另一半是什么?
这里有打字机器人 每天都可以接单[除特殊情
比较下列各组句子中加点词语的意思,正确的一
大型鳄鱼和水冉相遇那个被吃?
毕业企业是什么意思,融券商是什么意思,融券
推荐资讯
孟中泽与陈雪枫的关系
勘测是什么工作,疆北有个地理勘测的公司是什
富兰克林格言的意思 5分
利川市恩施憨婆娘鱼头怎么去啊,谁知道地址啊
用英语读用英语怎么说,请问刮鼻子用英语怎么
第三套人民币值多少钱,第三套人民币哪里收购
什么是数据分析员?
计算2x?(-3x2y)的结果是A.6x3yB.-6x2yC.-6x
汇士宝m12刷机固件mac是0怎么解决
昼怎么读音是什么
想当老师考什么专业
为什么有些QQ好友根本没在线,而手机上显示的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?