例如:
Sub 函数()
Sheet1.Cells(1, "A") = Sheet1.Cells(1, "A") + 1
End Sub
如何按一个按钮就能每隔10秒自动执行一次该函数,又如何按一个按钮停止该函数自动执行?
如何用VBA自动重复和停止一个方法?
答案:2 悬赏:0 手机版
解决时间 2021-03-21 21:40
- 提问者网友:鼻尖触碰
- 2021-03-21 07:31
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-03-21 08:38
'开个窗体,加两个按钮,一个叫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
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
全部回答
- 1楼网友:玩家
- 2021-03-21 09:08
首先vba是单线程的,你这个click过程如果是有for循环的话可以在循环中加一个doevents,然后在定义一个公共布尔变量并放在循环里用if判断,如果在新按钮中设置公共变量为true则用exit sub退出click过程
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯