我在这里撕开我的头发......
我有一个Excel工作表,用于注册用于不同任务的时间。在工作表中,我开始了#34;时钟"只要我处理任务,就会以10秒的增量运行。 只要没有其他工作簿打开,这是正常的,即处于安全模式(即从Weblocation打开,"启用编辑"未激活)。 如果是这种情况,计时器将失败...
"Run-time error '1004':
Method 'OnTime' of object '_Application' failed.
和...
我的代码:
Dim TimerActive As Boolean
Sub Start_Timer()
TimerActive = True
Timer
End Sub
Sub Stop_Timer()
TimerActive = False
End Sub
Sub Timer()
If TimerActive Then
ThisWorkbook.Sheets("Register_time").Range("InputTimeTo").Value = Time
ThisWorkbook.Application.OnTime Now() + TimeValue("00:00:10"), "Timer"
End If
End Sub
当宏失败时,调试器会突出显示以下行:
ThisWorkbook.Application.OnTime Now() + TimeValue("00:00:10"), "Timer"
我想以某种方式解决这个问题,以便宏可以在后台运行"即使另一个工作簿具有焦点(安全模式与否),或者完全不同的程序具有焦点。 注意:当时钟需要更新时,我无法获得具有宏增益焦点的工作簿,因为这意味着我将离开我正在工作的程序。 但是,如果没有更新时钟,那就没问题,直到我选择将焦点设置回显示时钟的工作表。
任何?
答案 0 :(得分:0)
尝试在“Ontime”行前输入此代码:
On Error Resume Next
ThisWorkbook.Application.OnTime Now()+ TimeValue(“00:00:10”),“Timer”
这可以避免意外行为。
最佳,