Board logo

標題: [發問] dde匯入數值後進行複製問題 [打印本頁]

作者: 笨小孩    時間: 2011-12-25 15:17     標題: dde匯入數值後進行複製問題

把91個dde匯入數值以按鈕動作複製出91x2(182)個數值出來時間需要9秒,如Hsieh版主所言"不會吧!",想知道複製大量動態數值於另一儲存格內是否一定這樣耗時?還是製作方式及公式上錯誤,由於還未夠權限上傳文件,只能以文字敘述方式表達,請諒!
作者: mustang    時間: 2011-12-25 20:41

回復 1# 笨小孩


    大哥請問一下 DDE 如何使用 如何取得

感謝您
作者: 笨小孩    時間: 2011-12-25 20:57

回復 2# mustang

我的dde匯入是由一間付費數據公司提供的,提取方法是在可見頁面上,在任何需要提取的數值上按mouse選取獲取dde,然後貼上excel便可使用。
作者: 笨小孩    時間: 2011-12-25 21:36

煩了Hsieh版主指導上傳文件是不受權限限制的,人如其ID沒錯吧!哈哈...

複製耗時及損耗電腦資源問題是在A1和C1作值比較時,在B1(同時使用了182個)以下公式:

=IF(ISBLANK(C1)," ",IF(C1<=A1,A1-C1," "))

再在B1使用格式化的條件製作了以下3條公式:

條件一:=$C1/$B1>0.499(紅填滿儲存格)
條件二:=$C1/$B1>0.299(籃填滿儲存格)
條件三:=$C1/$B1>0.199(黃填滿儲存格)

我償試把B2所有公式清除,複製1秒內可完成,我想我是製作上失敗了,現想請教各excel高人有更好的方法解決我這個問題嗎?謝謝...
作者: register313    時間: 2011-12-25 21:57

回復 4# 笨小孩

附上 "excel檔案"  才能真正知道問題所在
作者: Hsieh    時間: 2011-12-25 22:13

回復 4# 笨小孩
檔案上傳原則
在活頁簿內任何格式設定、公式都會影響運算速度
尤其在用了大量陣列公式時(並非只有用CTRL+SHIFT+ENTER為輸入方式)
VBA也並非就一定能提升速度
作者: 笨小孩    時間: 2011-12-26 00:25

回復 6# Hsieh


明自Hsieh版主解釋使用大量陣列公式會損耗電腦資源導致運作緩慢,我也償試把文件拿到朋友家跑1155 i3/3M快取電腦做實驗,可把複製時間降至4秒完成,

現想如完全不使用格式化條件,只使用儲存格公式來製作我想做到的用途,公式上能製作嗎?複製時間上能縮短嗎?
作者: Hsieh    時間: 2011-12-26 08:17

回復 7# 笨小孩


   關閉重算再執行複製
Application.Calculation = xlCalculationManual


複製完成重新設定自動重算
Application.Calculation = xlCalculationAutomatic
作者: 笨小孩    時間: 2011-12-27 01:46

回復 5# register313


    [attach]8931[/attach]

請高手們看看有方法把複製時間減小嗎?謝謝
作者: Hsieh    時間: 2011-12-27 08:46

回復 9# 笨小孩
  1. Sub 按鈕0_Click()
  2. Application.Calculation = xlCalculationManual
  3.     For i = 1 To 26
  4.         Cells(i, "B").Value = Cells(i, "D").Value
  5.         Cells(i, "F").Value = Cells(i, "H").Value
  6.         Cells(i, "J").Value = Cells(i, "L").Value
  7.         Cells(i, "N").Value = Cells(i, "P").Value
  8.         Cells(i, "R").Value = Cells(i, "T").Value
  9.         Cells(i, "V").Value = Cells(i, "X").Value
  10.         Cells(i, "Z").Value = Cells(i, "AB").Value
  11.     Next i
  12. Application.Calculation = xlCalculationAutomatic
  13. End Sub
複製代碼

作者: register313    時間: 2011-12-27 09:07

回復 9# 笨小孩
  1. Sub 按鈕0_Click()

  2. For i = 1 To 7
  3.     Cells(1, i * 4 - 2).Resize(26, 1) = Cells(1, i * 4).Resize(26, 1).Value
  4. Next i
  5.         
  6. End Sub
複製代碼

作者: 笨小孩    時間: 2011-12-27 18:09

成功了,謝謝Hsieh版主和register313網友幫忙。
作者: ribbits    時間: 2012-1-15 10:02

回復 6# Hsieh


    所以若將DDE訊號轉入資料庫再回授運算
這樣是否會讓系統效能有效提升呢?
作者: ribbits    時間: 2012-1-15 10:18

回復 2# mustang


    DDE訊號一般都是從劵商軟體上用EXCEL欄位擷取來的,平時以代碼呈現連通時會依現況顯現出數據,但在準確精度上效能極差!!!!
因同步去樣不同劵商時會發生顯示數據有落差,不知這是不是台灣才獨有現象,在國外DDE是老舊協定早被淘汰不用了!!

無奈這一般國內散戶能取得的訊號唯一依據,所以只能硬著頭皮取來用了!

以康和全多賺為例開啟看盤軟體後在上方找(輔助工具欄A)按左鍵滑動去啟動MS EXCEL產生空白欄位後再以滑鼠擷取報價欄去貼上就能產生DDE碼!

PS:絕對不可自行開啟EXCEL做擷取這樣無法取樣!!還有全多賺常常會當機要小心




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)