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

时间:2015-10-28 09:28:41

标签: excel vba excel-vba delay adjustable

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

我试图将宏延迟一段时间。

我希望能够在不打开宏的情况下调整Excel工作簿中的延迟量。

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

  

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

这可以解决吗?

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。

- Cell" D3"中的数据。 :0:00:00,0:00:01,0:30:00或更高的值。

  • @ Application.Wait .... ect line
  • 发生错误

- 时间格式=一般 - >结果是0,00000453 * E-5当" D3"是0:00:01

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

1 个答案:

答案 0 :(得分: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))