返回列表 上一主題 發帖

[發問] 請問如何將以連接EXCEL的DDE數據每分鐘紀錄下來?

Private Sub Workbook_Open()
Sheet2.[B7:J307] = ""
If Time >= TimeValue("08:45:00") And Time <= TimeValue("13:45:00") Then
change
Else
Application.OnTime "08:45:00", "ThisWorkbook.change"
End If
End Sub


Private Sub change()
    Dim TimeRange As Range, Rng As Range, R As Range
    With Sheet2
        Set TimeRange = .[A:A].Find(TimeSerial(Hour(Time), Minute(Time), 0), LookIn:=xlFormulas)
        Set Rng = TimeRange.Offset(, 1).Resize(1, 7)
    End With
    Rng.Value = Sheet1.[N3:T3].Value
    If Time > TimeValue("13:45:00") Then Exit Sub
    Application.OnTime Now + TimeValue("00:01"), "ThisWorkbook.change"
End Sub

這是我使用的程式碼
我Sheet1 是在接收dde加運算的  都有正常
且資料都有出來
而Sheet2就是把每分鍾的資料存起來
但發現  有時有1~3分鍾沒有抓到資料
就變成空白  不曉得是什麼原因呢

TOP

HI skybbs
那我明天再來試看看 你的方法
謝謝你的分享

TOP

Private Sub Workbook_Open()

If Time >= TimeValue("09:45:00") And Time <= TimeValue("16:05:00") Then
Sheet2.[B7:J307] = ""
change
Else
Application.OnTime "09:45:00", "ThisWorkbook.change"
End If
End Sub


Private Sub change()
    Dim TimeRange As Range, Rng As Range, R As Range
    With Sheet2
        Set TimeRange = .[A:A].Find(TimeSerial(Hour(Time), Minute(Time), 0), LookIn:=xlFormulas)
        Set Rng = TimeRange.Offset(, 1).Resize(1, 7)
    End With
    Rng.Value = Sheet1.[N3:T3].Value
    If Time > TimeValue("16:05:00") Then Exit Sub
    Application.OnTime Now + TimeValue("00:01"), "ThisWorkbook.change"
End Sub


請問 我想把這個dde設成港股的時間
前面都很正常可以抓
可是到了13:59分之後
資料都抓不過來了
Sheet1的資料 還有在變更
Sheet2就完全沒有動靜
不曉得是什麼原因呢
謝謝

TOP

請問一下
從券商軟體接收資料
dde有時侯會停住
就是資料接收不了
不會自已更新了
一開始的時侯都 正常 有時侯到中間才會這樣  時間不一定
請問我抓的資料量還滿多的  不知會是不是會影響
股票有200多檔
謝謝

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題