返回列表 上一主題 發帖

請問此功能有其他的方式解決嗎?

請問此功能有其他的方式解決嗎?

本帖最後由 藍天麗池 於 2024-1-2 21:33 編輯

請教版上前輩,我目前有個VBA用來記錄期貨數據,其功能為成交量有變動就紀錄,然後我去做計算,目前是用成交量有變動就紀錄的方式去寫,但期貨的跳動速度很快(有時候1秒會寫入6-8筆的資料),從開盤到收盤會寫入大量的資料

       目前我的VBA的運作如下(A1的值是券商DDE得來的,大概就如同我附件那樣)
       A1 10
       A2 15      B2 = A2-A1 =5
       A3 18      B3 = A3-A2 =3
       A4 20                   .
       A5 25                   .
            .                        .
            .                        .
        依次下去       依次下去

因為我抓的資料不少所以資料有點大,目前是先將資料都先記錄下來,再求差,導致運算速度變慢,所以想請教版上前輩,我上述的需求如果不用變動寫入的方式去求差,有其他的解決方式嗎?

變動紀錄.rar (17.49 KB)

回復 2# Andy2483
主要就是不要用紀錄的方式求差值,想了解有無其他方式

隨時間推進B、C欄會有值一直寫進去,然後再求B3-B2、B4-B3......一直下去

詳細說就是假設B2在84500(時間)的值是252,84501的值是300,我想要求差值300-252,但不想用紀錄的方式求差值要如何做呢?

TOP

回復 6# hcm19522

請教前輩這是用函數的方式來解?能幫我解釋一下嗎?有點看不懂,感謝

TOP

回復 5# Andy2483
我回家試試看,再跟你說結果

TOP

本帖最後由 藍天麗池 於 2024-1-4 20:29 編輯

回復 5# Andy2483


    Andy,感謝你的回覆,但你好像誤解我的意思了,你以下的程式碼還是需要把總委賣跟總委賣往下寫才能去相減得出差,這樣如果我有20個總委買賣的資料就會有40欄,資料量會很大
   [F2] = [B2] - Cells(Rows.Count, 2).End(3)
   [G2] = [C2] - Cells(Rows.Count, 3).End(3)

我要的結果是我往下寫的值只留差值,如同我在附件幫你標示的樣子 變動紀錄(差別).rar (19.58 KB)

TOP

回復 11# singo1232001


    前輩感謝你,但跟我的需求好像不太一樣,且我對access也不太熟,感謝回復

TOP

回復 15# singo1232001


    前輩感謝,用EXCEL+ACCESS的方式我不熟,所以就先不考慮了

TOP

本帖最後由 藍天麗池 於 2024-1-5 13:51 編輯

回復 14# hcm19522


    前輩感謝回復,可是前輩好像誤會我的意思了,看你的函數好像也是要將數值記錄下來才能去做運算得差值

    我想問的是有無不將值紀錄然後直接得差值的方法,結果大約像我附件那樣 變動紀錄(差別).rar (19.58 KB)

TOP

回復 18# Andy2483

可是如果差值的數據要再做運算也是要多拆一欄出來做資料的處理

TOP

回復 20# Andy2483


    可是假設我要後面的差去做運算,也是要拆一欄放數據才能做運算

TOP

        靜思自在 : 屋寬不如心寬。
返回列表 上一主題