excel vba如何设置一个按钮暂停运行

excel vba如何设置一个按钮暂停运行,第1张

亲,不要把代码放到Thisworkbook的Open事件里即可。

如下图,打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧Thisworkbook上双击,右侧的代码剪切下来。

然后在左侧空白处点击右键,“插入”,“模块”。右侧空白处粘贴代码,去掉第一行和最后一行。

可以在你的循环代码中加一句话 DoEvents

运行代码后,虽然Excel马上就获得了控制权,但是实际上你的代码还在后台运行。

这样你就可以在需要的时候随时选择VBA那边的菜单“运行 - 中断”,你的代码就可以中断下来了……

但是,采用这个方法有一点需要注意,就是当你的代码真正运行结束的时候,最好是能够报一个提示框。要不然它在后台一直运行,你也不知道它到底什么时候结束。

ApplicationWait

方法

暂停运行宏,直到一特定时间才可继续执行。如果到达指定时间,则该值为

True。

语法

表达式Wait(Time)

表达式 一个代表 Application 对象的变量。

参数

名称

必选/可选

数据类型

说明

Time

必选

Variant

希望宏继续执行的时间(以 Microsoft Excel

日期格式表示)。

返回值

Boolean

说明

Wait 方法暂停 Microsoft Excel 的所有 *** 作,并且,Wait

起作用时可能禁止您对计算机做其他 *** 作。不过,后台 *** 作(如打印和重新计算)将继续进行。

示例

示例暂停一个正在执行的宏,到今天下午 6:23 时才可继续执行。

Visual Basic for Applications

ApplicationWait "18:23:00"

本示例暂停一个正在执行的宏约 10 秒钟。

Visual Basic for Applications

newHour = Hour(Now())

newMinute = Minute(Now())

newSecond = Second(Now()) + 10

waitTime = TimeSerial(newHour, newMinute, newSecond)

ApplicationWait waitTime

本示例显示一条消息,用以表明是否经过 10 秒钟。

Visual Basic for Applications

If ApplicationWait(Now + TimeValue("0:00:10")) Then

MsgBox "Time expired"

End If

Sub t()

    a = ""

    Do While Not (a > 0 And a < 100)

        a = InputBox("请输入0到100的数:", "输入数据")

    Loop

    [A1] = a

End Sub

参考一下。

使用VBA即可,代码如下:

Private Sub Workbook_Open()Dim my_Range As RangeFor Each my_Range In Worksheets(1)UsedRangeIf my_RangeColumn = 3 And my_Range = Date ThenMsgBox "到期了"End IfNextEnd Sub

以上就是关于excel vba如何设置一个按钮暂停/运行全部的内容,包括:excel vba如何设置一个按钮暂停/运行、笔记本没有pause键,在excel vba已经运行时如何暂停其运行、vba 怎么停止application.wait等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10112317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存