可调macros延迟(通过在单元格中input时间)

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

我试图延迟一段时间的macros。

我希望能够调整我的Excel工作簿中的延迟量,而无需打开一个macros。

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

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

这是可以解决的吗?

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 …. ect行

时间格式=一般 – > t原来是0,00000453 * E-5当“D3”是0:00:01

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

事实上,这是非常简单的错误, 只要将TimeValue("t")更改为TimeValue(t)


这是为什么?

您需要在TimeValue()函数中input格式化为文本的时间值,您可以将该值正确地存入variablest

问题是当你重复使用这个,因为"t"是只包含t字母而不是variablest的string!


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