返回列表 上一主題 發帖

程式碼如何寫以紀錄EXCEL的DDE數據每秒鐘紀錄)(已解決)

回復 11# ABK

Sheets("1")的A 2 公式=RTD("money.excel",,"*SYSTEM","ServerTime")
是否傳回#N/A (錯誤值),導致程式錯誤試試看
  1. Sub Ex()
  2. Set MyBook = ThisWorkbook
  3. Set Sht1 = MyBook.Sheets("1")
  4.         Dim A As Single
  5.         A = 0.361111   '時間 上午 08:40:00
  6.         j = 2
  7.         Do
  8.             DoEvents
  9.             '********測試用  ******************************************
  10.             If IsError(Sht1.Cells(2, 1)) Then Stop  '傳回錯誤值 程式暫停
  11.             '**********************************************************
  12.             If Not IsError(Sht1.Cells(2, 1)) Then
  13.                 If Sht1.Cells(2, 1) > A Then   'SHEETS(1)的A2大於 時間
  14.                     A = Sht1.Cells(2, 1)         '更改時間為SHEETS(1)的A2
  15.                     Sht1.Cells(j, 2).Resize(1, 6) = Sht1.Cells(2, 5).Resize(1, 6).Value
  16.                     O = 0
  17.                     H = -99999
  18.                     l = 99999
  19.                     cumVol = V
  20.                     j = j + 1
  21.                 End If
  22.             End If
  23.         Loop
  24. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 8# GBKEE



版大您好!    我用Excel2016版, 跑程式碼卡住了,是哪裡有問題?
資料源 我改成元大RTD了!

一分鐘紀錄.jpg (53.67 KB)

一分鐘紀錄.jpg

1分鐘紀錄- 測試檔-1.rar (17.91 KB)

TOP

ㄏㄏ..感謝!OK了!
我用手動方式改變時間...執行程式後一如所願!
謝謝大大解惑。感謝!
50 字節以內
不支持自定義 Discuz! 代碼

TOP

感謝大大解惑!
程式碼19行到22行,當初是看其他程式仿造的,如果我沒有用到它的運算式(他原先是利用第一個價錢為開盤價O,第二個價錢如果高於第一個,那最高價就是第二個,如果第二個價錢低於第一個,那最低價就是第二個...)我是否可以把它去除?
明天開盤後試試!感謝!
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 7# jiuhtsair


試試看
  1. Sub Ex()
  2.         Dim A As Single
  3.         A = 0.361111   '時間 上午 08:40:00
  4.         j = 2
  5.         Do
  6.           DoEvents
  7.           'If Sheets(2).Cells(j, 2) > A Then
  8.           '  A = Sheets(2).Cells(j, 2)
  9.           If Sheets(1).Cells(2, 1) > A Then   'SHEETS(1)的A2大於 時間
  10.             A = Sheets(1).Cells(2, 1)         '更改時間為SHEETS(1)的A2
  11.         '  -- 附檔 Sheets(1).Cells(3, 5)......   為空白  --
  12.         'Sheets(2).Cells(j, 2) = Sheets(1).Cells(3, 5)
  13.         'Sheets(2).Cells(j, 3) = Sheets(1).Cells(3, 6)
  14.         'Sheets(2).Cells(j, 4) = Sheets(1).Cells(3, 7)
  15.         'Sheets(2).Cells(j, 5) = Sheets(1).Cells(3, 8)
  16.         'Sheets(2).Cells(j, 6) = Sheets(1).Cells(3, 9)
  17.         'Sheets(2).Cells(j, 7) = Sheets(1).Cells(3, 10)
  18.         Sheets(2).Cells(j, 2).Resize(1, 6) = Sheets(1).Cells(2, 5).Resize(1, 6).Value
  19.         O = 0
  20.         H = -99999
  21.         l = 99999
  22.         cumVol = V
  23.         j = j + 1
  24.           End If
  25.         Loop
  26. End Sub
複製代碼

TOP

抱歉!怕陳述的不清楚,我把我的DDE檔案也傳上來。懇請網上大大解惑!謝謝!
想要做的功能就是把sheet1的內容每秒鐘(a2儲存格內容變化時動作)存入Sheet2中!希望能夠紀錄一整天以便分析參考。謝謝!
TFXexcel_DDE.zip (7.89 KB)
50 字節以內
不支持自定義 Discuz! 代碼

TOP

我將程式碼貼上後,它告訴我"執行階段錯誤424,此處需要物件"
但沒有看到他所指的錯誤區域在哪裡,請問這要如何改呢?
另外,DDE傳回的時間是值=(X小時*3600+Y分鐘*60)/86400,不知道這樣把設A=Time會不會有問題,我是否要先將(X小時*3600+Y分鐘*60)/86400轉化成 "X小時:Y分鐘:Z秒鐘"的型態呢?
謝謝!
50 字節以內
不支持自定義 Discuz! 代碼

TOP

謝謝分享!我也找到個不錯的教學網站
http://210.240.125.13/phcno1/index.htm 請參考!
50 字節以內
不支持自定義 Discuz! 代碼

TOP

我也還是新手,雖然程式的部分還沒辦法給予幫助,不過書籍的話可以推薦給你
Excel VBA 2007 程式設計全圖解 電腦人文化 出版
作者:七條達弘 渡邊健 ...等人注
這本說的還蠻詳細的,我目前自學三週,雖然沒辦法像版主他們程式打得很精簡,
要什麼有什麼,但是已經可以自己做出一些基本功能,
上一步、下一步、在介面中輸入資料並送回..等功能
且書中的範例可以下載
網址:http://www.pcuser.com.tw/download/2AC710/samples.zip
推薦給你~~

TOP

感謝大大開示。曾研究了大大回答EXCEL的DDE數據每分鐘紀錄的文,可惜沒完全弄懂...這程式已經煩惱一星期了,感謝大大解除困惑。謝謝!
50 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 滴水成河。粒米成蘿,勿輕己靈,勿以善小而不為。
返回列表 上一主題