可调宏延迟(通过在单元格中输入时间)

Adjustable macro delay (by entering time in cell)

解答:将单元格格式从 D3 更改为文本而不是常规或时间

我正在尝试将宏延迟可变的时间。

而且我希望能够在我的 excel 工作簿中调整延迟量,而无需打开宏。

我尝试了下面的代码但得到了:

run time error 13 (Type mismatch).

这个可以解决吗?

Private Sub CommandButton1_Click()
Dim i As Integer
Dim Response As Integer
    t = Range("D3")
    Application.Wait (Now + TimeValue("t"))

-Cell Format: First Tryed Time (0:00:00), 然后改回general.

-单元格"D3"中的数据:0:00:00、0:00:01、0:30:00或更高值。

-Time format= General --> t 结果是类似 0,00000453*E-5 当 "D3" 是 0:00:01

Time format = time --> t原来是空的(使用37:23:23时间格式)

其实很简单的错误,TimeValue("t")改成TimeValue(t)

就行了

这是为什么?

您需要将一个格式为文本的时间值输入到 TimeValue() 函数中,您正在将此值正确地输入到变量 t 中。

问题是当你重复使用它时,因为 "t" 是一个只包含 t 字母而不包含变量 t!

的字符串
Private Sub CommandButton1_Click()
Dim i As Integer
Dim Response As Integer
    t = CStr(Range("D3"))
    Application.Wait (Now + TimeValue(t))