返回列表 上一主題 發帖

價格紀錄的語法有寫錯嗎??

回復 117# c_c_lai


    C大我是9點才開檔案的,離你一開始預設時間已經過了30分鐘

TOP

本帖最後由 c_c_lai 於 2016-4-12 10:53 編輯

回復 121# 藍天麗池
那券商軟體何時開啟?
目前你先將第三列刪除,儲存檔案後,於 "營業時間" 內
再從新啟動試試!

TOP

回復 122# c_c_lai
C大抱歉,我今天出門回來就急著去上班了,明天試完後告訴你結果

TOP

回復 120# c_c_lai
可是C大我DDE是在第二列,我上傳的圖第二列有資料,第三列才出現N/A的不是嗎??

TOP

本帖最後由 c_c_lai 於 2016-4-13 05:36 編輯
回復  c_c_lai
可是C大我DDE是在第二列,我上傳的圖第二列有資料,第三列才出現N/A的不是嗎??
藍天麗池 發表於 2016-4-12 22:26

在 Excel 一開始連上 DDE 時因系統尚未就緒 (DDE與券商軟體間),所以第二列接收值為 #N/A, 又因一開始時第三列資料為空,
  1.                     If .Row = 2 Or .Row > 2 And .Value <> Range(E.Name).Value Then       '  (各股總量有變動)
複製代碼
.Row = 2 (資料最位筆為第二列) 則逕行 ( #N/A) 寫入,接著當第二列接收到DDE接收值 (實際數據) 後,再次觸發
Worksheet_Calculate(),此時  .Row > 2 And .Value <> Range(E.Name).Value  便產生錯誤訊息了。
  1.                 '  #N/A (DDE尚未啟動) ->  Excel 一開始連上 DDE 時因系統尚未就緒,此時接收值為 #N/A,
  2.                 '  當 .Row = 2 (資料最位筆為第二列) 又逢第二列傳入值為 #N/A,所以則逕行將 (#N/A) 直接寫入;
  3.                 '  接著當第二列接收到DDE傳入值 (實際數據) 後,再次觸發 Worksheet_Calculate(),
  4.                 '  此時 .Row > 2 And .Value <> Range(E.Name).Value  於比對時便產生錯誤訊息了。
  5.                 '  ----------------------------------------------------------
  6.                 '  Cells(Rows.Count, cts).End(xlUp).Value : 錯誤 2042 : Variant/Error
  7.                 '  執行階段錯誤 '13':  型態不符合
  8.                '  ----------------------------------------------------------
複製代碼
為了確保未來資料均能正確處理,在新的 "股票10C.xlsm" 的程式�堨[入了一行判斷。
  1.     For cts = 4 To 400 Step 4
  2.         Set Rng = Cells(2, cts)
  3.         If IsError(Rng.Value) Then Exit Sub                             '  總量如為錯誤 (#N/A、#REF!),跳離不做處理
複製代碼
股票10C.rar (21.99 KB)
今早請直接用這支新的 "股票10C.xlsm" 做測試吧!

TOP

回復 125# c_c_lai


    C大,可以正常執行了

TOP

本帖最後由 c_c_lai 於 2016-4-13 09:08 編輯

回復 116# GBKEE
  1.                 '  #N/A (DDE尚未啟動) ->  Excel 一開始連上 DDE 時因系統尚未就緒,此時接收值為 #N/A,
  2.                 '  當 .Row = 2 (資料最位筆為第二列) 又逢第二列傳入值為 #N/A,所以則逕行將 (#N/A) 直接寫入;
  3.                 '  接著當第二列接收到 DDE 接收值 (實際數據) 後,再次觸發 Worksheet_Calculate(),
  4.                 '  此時 .Row > 2 And .Value <> Range(E.Name).Value  於上、下欄值比對時便產生錯誤訊息了。
  5.                 '  -----------------------------------------------------------------------------------------
  6.                 '  Cells(Rows.Count, cts).End(xlUp).Value : 錯誤 2042 : Variant/Error
  7.                 '  執行階段錯誤 '13':  型態不符合
  8.                 '  -----------------------------------------------------------------------------------------
複製代碼

TOP

回復 126# 藍天麗池
OK, 今後那就以 "股票10C.xlsm"  為準了,
祝一切順利!大功告成!

TOP

回復 128# c_c_lai

謝謝C大,辛苦了

TOP

本帖最後由 藍天麗池 於 2016-4-14 09:15 編輯

回復 128# c_c_lai

股票.rar (36.36 KB)
    C大,昨天在盤中可以用,但是今天開盤前再開啟就不行了,我上傳我的檔案,裡面有些儲存格的內容有改變但是之前的研判規則都沒改變,為什麼無法執行是因為我變動到哪邊嗎??


剛才9點開盤前我打開檔案,無法執行程式,9:05分我在打開一次又可以執行了,這是甚麼原因??

我在想會不會是因為剛開盤有些股票還沒成交量,會出現"-",而不是出現#NA,所以才造成剛開盤無法紀錄

TOP

        靜思自在 : 能付出愛心就是福,能消除煩惱就是慧。
返回列表 上一主題