返回列表 上一主題 發帖

變動紀錄的程式

有可能執行到 Excel.Application.EnableEvents = 0 時
還沒執行到 Excel.Application.EnableEvents = 1 就貝你中途 Stop 掉
那你的事件就不會在觸發
OR 其他原因.... 沒檔案沒真相

TOP

除錯 - 複製.rar (35.1 KB) 回復 11# jackyq


    請大大看看

TOP

改成這樣

    Sub RecordPrice()
Dim WR As Long
Dim I As Byte

Dim DDE_總量 As Range
Set DDE_總量 = Range("D2")
   
If IsError(DDE_總量.Value) Then Exit Sub
If DDE_總量.Value <= 0 Then Exit Sub

WR = DDE_總量.CurrentRegion.Row + DDE_總量.CurrentRegion.Rows.Count
'ActiveWindow.ScrollRow = WR - 5 '只顯示最新幾筆資料
If (WR = 3) Or _
   (Cells(WR - 1, DDE_總量.Column) <> DDE_總量.Value) Then       '總量有異動時才記錄

    Excel.Application.EnableEvents = 0

    Cells(WR, DDE_總量.Column).Offset(, -1).Resize(, 3).Value = _
                      DDE_總量.Offset(, -1).Resize(, 3).Value

    Excel.Application.EnableEvents = 1
End If

End Sub

TOP

存檔後 檔案記得關閉在重開

TOP

回復 13# jackyq


    還是不行

TOP

回復 15# 藍天麗池


    你的檔案裡面的    ThisWorkBook

Private Sub Workbook_Open()
Application.RTD.ThrottleInterval = 0
''   Application.Calculation = xlCalculationManual     -> 把這個遮罩掉後, 存檔再重開
End Sub

TOP

本帖最後由 藍天麗池 於 2016-3-22 10:27 編輯

回復 16# jackyq
123.rar (329.21 KB)
J大其實我是要將附件裡面的東西整合在一起,裡面有群益的API,我是要擷取資料,但因為群益在加權的資料有誤,所以加權的部分改用變動紀錄的方式抓取
但是我將程式結合之後去無法執行了,想請J大幫我看看,要怎麼更改,更新的部分要維持原本的2秒更新一次才行,感謝大大

J大不好意思這樣麻煩你

TOP

123_b.zip (215.37 KB)

TOP

本帖最後由 藍天麗池 於 2016-3-22 11:34 編輯

回復 18# jackyq


    大大,這個是改好的嗎??
我是要讓資料都出現在sheet4,後面多個加權DDE是??
不太懂大大的意思

TOP

sheet4 是 API 的加權報價
sheet5  = Sheets("加權DDE" )   經由 DDE 紀錄加權指數

我是要讓資料都出現在sheet4 -> 讓他出現在 sheet5  也沒差吧

TOP

        靜思自在 : 吃苦了苦、苦盡廿來,享福了福、福盡悲來。
返回列表 上一主題