返回列表 上一主題 發帖

[發問] 為什麼沒辦法做到每五分鐘動作一次??

[發問] 為什麼沒辦法做到每五分鐘動作一次??

我的sheet1有三列DDE的數據
我想把這三列數據每五分鐘分別紀錄一次到三個工作表sheet2~sheet4
偵錯都沒問題
可是卻跑一次就停了
倒底是甚麼原因呢
我在sheet1貼的程式碼如下



Private Sub Worksheet_Calculate()

Dim NowDateTime, NowTime, StartTime, StopTime
    Dim tr As String

   
    NowDateTime = Now
    NowTime = NowDateTime - Int(NowDateTime)
    StartTime = Sheet2.[A2]
    StopTime = Sheet2.[A185]
   
    If NowTime <= StartTime Then
        Exit Sub
    ElseIf NowTime > StopTime Then
        Exit Sub
    End If
   
    tr = Int((NowTime - StartTime) * 288) + 2
   
   
   
    Sheet2.Range("B" & tr).Value = Sheet1.Range("A2").Value
    Sheet2.Range("C" & tr).Value = Sheet1.Range("B2").Value
    Sheet2.Range("D" & tr).Value = Sheet1.Range("C2").Value
    Sheet2.Range("E" & tr).Value = Sheet1.Range("D2").Value
    Sheet2.Range("F" & tr).Value = Sheet1.Range("E2").Value
    Sheet2.Range("G" & tr).Value = Sheet1.Range("F2").Value


    Sheet3.Range("B" & tr).Value = Sheet1.Range("A3").Value
    Sheet3.Range("C" & tr).Value = Sheet1.Range("B3").Value
    Sheet3.Range("D" & tr).Value = Sheet1.Range("C3").Value
    Sheet3.Range("E" & tr).Value = Sheet1.Range("D3").Value
    Sheet3.Range("F" & tr).Value = Sheet1.Range("E3").Value
    Sheet3.Range("G" & tr).Value = Sheet1.Range("F3").Value

    Sheet4.Range("B" & tr).Value = Sheet1.Range("A4").Value
    Sheet4.Range("C" & tr).Value = Sheet1.Range("B4").Value
    Sheet4.Range("D" & tr).Value = Sheet1.Range("C4").Value
    Sheet4.Range("E" & tr).Value = Sheet1.Range("D4").Value
    Sheet4.Range("F" & tr).Value = Sheet1.Range("E4").Value
    Sheet4.Range("G" & tr).Value = Sheet1.Range("F4").Value

End Sub

DJ.rar (21.79 KB)

程式中並沒有每五分鐘分執行一次的敘述
oobird 發表於 2011-6-22 15:45



    感謝回應

原來  tr = Int((NowTime - StartTime) * 288) + 2
這一行並沒有五分換行一次的效果
想請問一下要達到五分鐘執行一次的話
程式碼該怎麼改呢
謝謝您了

TOP

回復  enhrulee
你可以參考這篇 :
http://blog.xuite.net/crdotlin/excel/9016607
luhpro 發表於 2011-6-28 21:37



    感謝您的回應
我會多多研究一下的

TOP

        靜思自在 : 口說一句好話,如口出蓮花;口說一句壞話如口吐毒蛇。
返回列表 上一主題