excel - Excel VBA秒表在午夜中断
问题描述
我有一个工作表,用于跟踪录制有声读物的进度(我是旁白)。在每张纸上,我都有一个计时器,我用它来跟踪我每天/会话记录了多少小时。
如果计时器在午夜运行,它会将计时器设置为 20:00:00 并继续运行。我经常在午夜录制,所以如果我不记得在午夜之前停止计时器并在之后重新启动,这是一个主要问题。
这是整个 Excel 文件的链接。您可以在 TEMPLATE 工作表中找到计时器。计时器的宏在 Module1 中。
http://recording-tracker.narratedby.me
这是所有代码:
Option Explicit
Dim NextTick As Date, t As Date, PreviousTimerValue As Date, strSheetName As String, lRowTime As Long, lRowDate As Date, CurrentTimerValue As Date, StartTimerValue As Date
Sub StartTime()
strSheetName = ActiveSheet.Name
StartTimerValue = PreviousTimerValue
CurrentTimerValue = PreviousTimerValue
t = Time
Call ExcelstrSheetName
End Sub
Private Sub ExcelstrSheetName()
strSheetName = ActiveSheet.Name
ThisWorkbook.Worksheets(strSheetName).Range("Q1").Value = Format(Time - t + PreviousTimerValue, "hh:mm:ss")
NextTick = Now + TimeValue("00:00:01")
Application.OnTime NextTick, "ExcelstrSheetName"
End Sub
Sub StopClock()
strSheetName = ActiveSheet.Name
On Error Resume Next
Application.OnTime earliesttime:=NextTick, procedure:="ExcelstrSheetName", schedule:=False
CurrentTimerValue = ThisWorkbook.Worksheets(strSheetName).Range("Q1").Value
End Sub
Sub Reset()
strSheetName = ActiveSheet.Name
CurrentTimerValue = ThisWorkbook.Worksheets(strSheetName).Range("Q1").Value
On Error Resume Next
Application.OnTime earliesttime:=NextTick, procedure:="ExcelstrSheetName", schedule:=False
ThisWorkbook.Worksheets(strSheetName).Range("Q1").Value = 0
End Sub
单元格 Q1 是在任何给定时间保存计时器值的单元格。
我已经删除了与我的问题无关的其他 Subs 和这些 Subs 的部分。这是基本的秒表功能。
任何帮助深表感谢!
解决方案
推荐阅读
- azure-devops - 从 Azure Devops 到 Teams 的 Webhook 得到响应 400,错误请求
- javafx - JavaFX 双甜甜圈图
- python - 属性不可见在 odoo 中不起作用
- wso2 - WSO2 - 错误 - SourceHandler I/O 错误:收到致命警报:certificate_unknown
- ios - AVAudioSession 类别变为 nil 并且 mediaServicesWereReset,avplayer 播放一直失败
- reactjs - React Router JWT 保护路由
- nginx - Nginx CORS 标头丢失了非 200 响应
- hive - 在 Hive 中选择
- python - Python:如何在计数器的开头添加一个字符串
- arrays - 为什么不计算 0.0?