返回列表 上一主題 發帖

[發問] 劵商DDE傳Excel 每分自動記錄數據

[發問] 劵商DDE傳Excel 每分自動記錄數據

本帖最後由 andylin 於 2011-7-28 16:08 編輯

各位前輩先進 大家好 Orz
在舊版網頁上有 但我無權限看附檔 新版論談不知要去那搜查尋找
非常感謝您
感恩 Orz

本帖最後由 andylin 於 2011-7-24 18:04 編輯

若有先進前輩們們知到
還請各位大大指導 Orz
非常非常感恩 Orz

TOP

回復 2# andylin
論壇裡,固定時間自動計錄數據的討論很多,你昨日才註冊為會員,不必急著發文找答案,
VBA的每一程序內的程式碼都是根據個案的需求所寫,無法直接套用的,
你須多看看論壇裡的文章,不懂,不會,再發文不遲的.

TOP

GBKEE大大您好 Orz
感謝您迅速回覆 小弟還來不及反應
感謝您寶貴意見 我會先從基本的文章看起
我晚點回去壓縮檔案再上傳論壇請您診斷
真的非常非常謝謝您
感恩 Orz

TOP

本帖最後由 andylin 於 2011-7-24 17:47 編輯

回復 4# andylin帶出

for GBKEE大_20110705.rar (83.86 KB)

TOP

回復 5# andylin
我想把"MSCI權重50"sheet裡頭的數據  自動每分鐘都有數據list到 "sheet2"裡頭
sheet2空空如也 不知你要的數據如何排列,請給個範例才知如何起頭.

TOP

回復 6# GBKEE


大大您好
不好意思
我人目前正在醫院
晚上回去時我再將sheet2 list附檔給您

真的非常感謝
感恩 Orz

TOP

本帖最後由 andylin 於 2011-7-24 17:48 編輯

回復 6# GBKEE

大大您好
不好意思 這麼晚才回您 還請見諒 Orz

附件是我再修改的excel檔
附上附件還有勞您撥伔提點
若有造成您困擾 擔誤您寶貴時間之處 還請您見諒 Orz

非常非常感謝您
感恩 Orz

for GBKEE大_20110707.rar (102.46 KB)

TOP

本帖最後由 GBKEE 於 2011-7-7 08:48 編輯

回復 8# andylin
你上傳的是2007版 圖形 2003無法處裡
你無法下載檔案.下列程式碼你先存檔後再開啟試試看.
PS:每日08:45前開啟檔案數據才會落於正確時間位置
  1. 'ThisWorkbook模組的程序
  2. Private Sub Workbook_Open()    '此程式是檔案開啟時自動執行的程式
  3.     Dim E As Range
  4.     If MsgBox("啟動自動記錄資料??", vbYesNo) = vbNo Then Exit Sub   
  5.     Sheets("1分K").UsedRange.Offset(1, 1) = ""       '  清除昨日資料
  6.     Sheets("5分K").UsedRange.Offset(1, 1) = ""
  7.     Sheets("15分K").UsedRange.Offset(1, 1) = ""
  8.     For Each E In Sheets("1分K").[A2:A302]
  9.         Application.OnTime E, "ThisWorkbook.資料輸入"  '依[A2:A302]內的時間執行程式 ->資料輸入
  10.     Next
  11. End Sub
  12. Sub 資料輸入()
  13.      Dim Ar()
  14.      Ar = Array([MSCI權重50股!D2], [MSCI權重50股!E2], [MSCI權重50股!B2], "", _
  15.                 [Matrix!F2], [Matrix!F3], [Matrix!F4], [Matrix!F144], "", _
  16.                 [SUM(Matrix!AF16:AF47)], [SUM(Matrix!AF48:AF79)], [SUM(Matrix!AF80:AF111)], [SUM(Matrix!AF112:AF143)])
  17.     'Ar陣列 ->  存入你要的數據
  18.      If Minute(Time) Mod 1 = 0 Then Sheets("1分K").Range("B" & Rows.Count).End(xlUp).Offset(1).Resize(1, 8).Value = Ar  'Minute(Time) Mod 1=0  每分鐘
  19.      If Minute(Time) Mod 5 = 0 Then Sheets("5分K").Range("B" & Rows.Count).End(xlUp).Offset(1).Resize(1, 8).Value = Ar  'Minute(Time) Mod 1=0  每5分鐘
  20.      If Minute(Time) Mod 15 = 0 Then Sheets("15分K").Range("B" & Rows.Count).End(xlUp).Offset(1).Resize(1, 8).Value = Ar 'Minute(Time) Mod 1 =0 每15分鐘
  21.      'Range("B" & Rows.Count) -> Rows.Count列的總列數 2003版: Range("B65536")
  22.      'Range("B" & Rows.Count).End(xlUp) ->Range("B65536")往上移動到有資料的位置
  23.      '往上移動到有資料的位置.Offset(1)->Offset(1,0)->往下位移(1列,0欄)
  24.      '往上移動到有資料的位置.Offset(1).Resize(1, 8)->Resize擴充範圍(1列,8欄)
  25. End Sub
複製代碼

TOP

回復 9# GBKEE


GBKEE大大您好

不好意思 我只有office2007(當年買電腦店家送的) 沒有灌2003
造成您不便之處還請見諒 Orz

我已依照您回文指示 將您所寫的程式碼save在該excel的VBA裡
如附圖所示 不知我這樣做對不對?

20110707 from GBKEE大 Excel 程式碼.rar (150.52 KB)

TOP

        靜思自在 : 站在半路,比走到目標更辛苦。
返回列表 上一主題