1

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

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

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

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

运行时错误 13(类型不匹配)。

这可以解决吗?

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

-单元格格式:首次尝试时间(0:00:00),然后将其改回常规。

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

  • 发生错误@Application.Wait....等行

-Time format= General --> t 结果类似于 0,00000453*E-5 当“D3”为 0:00:01 时

时间格式 = 时间 --> t 结果为空(使用 37:23:23 时间格式)

4

1 回答 1

2

事实上,这是非常简单的错误,只需更改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))
于 2015-10-28T09:36:15.810 回答