【问题标题】:Type mis-match error in VBA for Excel countdown timer在 VBA 中为 Excel 倒数计时器键入不匹配错误
【发布时间】:2019-04-24 22:54:24
【问题描述】:

我正在尝试使用 VBA 代码在 Excel 中创建一个简单的计时器。但是,我在其中一个应用程序中收到运行时错误类型不匹配。

计时器中包含停止和启动按钮。下面的所有代码。

错误出现在这一行:

Sheet1.Range("B1").Value = Sheet1.Range("B1").Value - TimeValue("00:00:01")

错误是类型不匹配变体\字符串与变体\整数。

代码正是 youtube 视频中显示的内容。在视频中效果很好。

https://www.youtube.com/watch?v=sbJeGG_Xv8M

这里是按钮和例程的代码。

有人可以建议解决方法吗?我会非常感激。

谢谢!

Private Sub CommandButton1_Click()
   starttimer
End Sub

Private Sub CommandButton2_Click()
   stoptimer
End Sub

Sub starttimer()
   Application.OnTime Now + TimeValue("00:00:01"), "nexttick"
End Sub

Sub nexttick()
   Sheet1.Range("B1").Value = Sheet1.Range("B1").Value - TimeValue("00:00:01")
   starttimer
End Sub

Sub stoptimer()
   Application.OnTime Now + TimeValue("00:00:01"), "nexttick", , False
End Sub

【问题讨论】:

  • 除了缩进和一些红色字体外,这似乎是相同的代码。我错过了什么吗?
  • 所以你说它适合你?
  • 查看链接 (gif)
  • 工作中...被屏蔽了

标签: excel vba


【解决方案1】:
Sheet1.Range("B1").Value

返回的值很可能是一个字符串。您需要在视频开始时将单元格的格式更改为自定义格式。

单击单元格,按 Ctrl + 1 -> 自定义格式 -> 写“m:ss”

【讨论】:

  • 单元格的格式已经是 hh;mm:ss。我试过 h:mm:ss 和 m:ss。同样的错误。
  • 这不是我想要的。我希望计数器显示 hhhhh:mm:ss
  • 自定义格式似乎没有帮助...单元格在几乎所有格式下都显示 mm/dd/yyyy hh:mm。
猜你喜欢
  • 2017-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多