如何把VB中延时函数的延时时间使用变量

Sub save()

Dim Name As String '﹚
Name = InputBox("请输入时间:", "延时时间", "10")
MsgBox "123"
Delay Name
‘请问一下为什么我把延时的时间用变量延时程序就死循环下去了 不会结束,我用的是Excel的VBA
' For i = 1 To Name
' Delay 1
' Next
’目前我是靠For循环来实现的,想简化一下代码
MsgBox "123"
End Sub

Sub Delay(T As Variant)
Dim T1 As Variant
T1 = Timer
Do
DoEvents
Loop While Timer - T1 < T
End Sub

自己定义的数据类型有问题。


代码稍加改动即可:

Sub save()
    Dim Name As Integer
    Name = InputBox("请输入时间:", "延时时间", "10")
    Delay Name
    MsgBox "时间到!"
End Sub

Sub Delay(T As Integer)
    Dim T1 As Variant
    T1 = Timer
    Do
        DoEvents
    Loop While Timer - T1 < T
End Sub

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-29
Loop While Timer - T1 < Val(T)
相似回答