在VBA中,如何让程序自动等待一定时间后,跳转至某一步?

在VBA中,如何让程序自动等待一定时间后,跳转至某一步?,第1张

调用Sleep函数可以实现延时。或者加一个do loop循环 ,使用timer检测时间。

但是,按照你的代码结构,延时后继续跳转到IF上面,会不会重复判断,陷入死循环哦?

有时需要程序暂停运行,如等待Excel单元格中的函数计算完毕。等待的方式有两种。

先在模块首段声明:

如果是32位Office,则声明:

如果是64位Office,则声明:

然后再在某个Sub或Function中加入:

Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Long

‘上面这句请放到程序开头处,对API函数的引用

Do

For Cnt = 48 To 105

If GetAsyncKeyState(Cnt) = -32767 Then '得到按键盘状态

tstr = Chr(Cnt)

End If

Next

Loop While Not IsNumeric(tstr) Or tstr = ""

cn = Array("一", " 二", "三", "四", "五", "六", "七", "八", "九")

Range("E1") = cn(CInt(tstr) - 1)

好像你上次问过类似的,记得上次你是想用鼠标选择一二三之类的数字,复制过来!

这次怎么变成一个一个输入???而且只用记录一个数么???

上面的代码可以修改成一次输入多个键值,按回车,直接把一串字填充


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

原文地址:https://54852.com/yw/12035598.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存