簡體   English   中英

Excel VBA中的application.ontime方法出錯

[英]Error with application.ontime method in excel vba

我在excel中有實時數據提要,現在想記錄數據,如下所示:

在此處輸入圖片說明 ]

我寫的代碼如下

Option Explicit

Dim SchedRecalc As Date
Sub Recalc()
    Range("A1").Value = Format(Now, "dd-mmm-yy")
    Range("B1").Value = Format(Time, "hh:mm:ss AM/PM")

    Call SetTime
End Sub

Sub SetTime()
    SchedRecalc = Now + TimeValue("00:00:01")
    Application.OnTime SchedRecalc, "Recalc"
    Application.OnTime SchedRecalc, "Record"

End Sub

Sub Record()
'
' update Macro
'


    With Worksheets("Sheet1")

        Application.ScreenUpdating = False
        Sheet1.Range("A1:A169").Copy _
        Destination:=mySheet.Range("E9")
        Sheet1.Range("E9:E169").Insert Shift:=xlShiftToRight

        Selection.Insert Shift:=xlToRight
        Application.CutCopyMode = False

    End With

End Sub


Sub Disable()
    On Error Resume Next
    Application.OnTime EarliestTime:=SchedRecalc, Procedure:="Recalc",                
    Schedule:=False
    Application.OnTime EarliestTime:=SchedRecalc, Procedure:="Record",    
    Schedule:=False

End Sub

但是出現以下錯誤..我已禁用所有安全設置:

在此處輸入圖片說明 ]

我成功運行了您的代碼。 確保使用Application.OnTime引用的過程放在Module中

您也可以仔細檢查最后一行。 復制和粘貼代碼並不能使VBA編輯器滿意。

Sub Disable()
    On Error Resume Next
    Application.OnTime EarliestTime:=SchedRecalc, Procedure:="Recalc",                
    Schedule:=False
    Application.OnTime EarliestTime:=SchedRecalc, Procedure:="Record",    
    Schedule:=False
End Sub

它應該在一行上。

Sub Disable()
    On Error Resume Next
    Application.OnTime EarliestTime:=SchedRecalc, Procedure:="Recalc", Schedule:=False
    Application.OnTime EarliestTime:=SchedRecalc, Procedure:="Record", Schedule:=False
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM