Board logo

標題: 每月換倉DDE都要重新建立? [打印本頁]

作者: cfuxiong    時間: 2012-10-18 19:19     標題: 每月換倉DDE都要重新建立?

請問各位高手前輩;今天換倉....之前DDE不會連動,需重新建立11月DDE,那之前所編輯的VBA請問要如何搬移。
還是要重新巨集編輯...請高手前輩給予指導...謝謝!!
作者: c_c_lai    時間: 2012-10-18 21:52

回復 1# cfuxiong
你直接將DDE匯入字串公式 J2 改成 K2 就 OK 了。
不需要再重新匯入DDE,如果你目前的 工作表單內容較複雜,
可能同時有兩家以上券商的DDE,那你豈不要暈倒了?
作者: cfuxiong    時間: 2012-10-18 22:07

回復 2# c_c_lai
我現在就要暈倒了;[DDE匯入字串公式]門在哪?都找不到!!!
作者: c_c_lai    時間: 2012-10-18 22:13

回復 3# cfuxiong
別暈,你的券商是用哪家?
譬如:元大       成交價    =YT|KS!TXFJ2.124   --->   =YT|KS!TXFK2.124
            易利得   成交價    =CATDDE|'FUTOPT<FO>TXFJ2     '!CurPrice   --->   =CATDDE|'FUTOPT<FO>TXFK2     '!CurPrice
以此類推。
作者: c_c_lai    時間: 2012-10-18 22:25

回復 3# cfuxiong
送你一支轉換涵式,你只要更換成你寫入的欄位便成 (元大及易利得)。
  1. Sub changeMonth()               ' 執行結算轉月
  2.     Dim sCode, tCode As String, mArray()
  3.    
  4.     sCode = Sheets("Omega").Range("U17").Value       '   [color=Red]目前(本月)引入值為   "K211"[/color]

  5.     If (Len(sCode) = 4) Then
  6.         mArray = Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月")
  7.         tCode = Right(sCode, 2)
  8.         sCode = Left(sCode, 2)
  9.          
  10.         With Sheets("Omega")
  11.             .Range("A2").Value = "TXF" & sCode                                                  '  元大
  12.             .Range("B2").Formula = "=YT|KS!TXF" & sCode & ".402"
  13.             .Range("C2").Formula = "=YT|KS!TXF" & sCode & ".122"
  14.             .Range("D2").Formula = "=YT|KS!TXF" & sCode & ".123"
  15.             .Range("E2").Formula = "=YT|KS!TXF" & sCode & ".124"
  16.             .Range("F2").Formula = "=YT|KS!TXF" & sCode & ".125"
  17.             .Range("G2").Formula = "=YT|KS!TXF" & sCode & ".126"
  18.             .Range("H2").Formula = "=YT|KS!TXF" & sCode & ".128"
  19.             .Range("I2").Formula = "=YT|KS!TXF" & sCode & ".130"
  20.             .Range("J2").Formula = "=YT|KS!TXF" & sCode & ".131"
  21.             .Range("K2").Formula = "=YT|KS!TXF" & sCode & ".132"
  22.             .Range("L2").Formula = "=YT|KS!TXF" & sCode & ".133"
  23.             .Range("M2").Formula = "=YT|KS!TXF" & sCode & ".135"
  24.             .Range("N2").Formula = "=YT|KS!TXF" & sCode & ".136"
  25.             .Range("O2").Formula = "=YT|KS!TXF" & sCode & ".437"
  26.             .Range("P2").Formula = "=YT|KS!TXF" & sCode & ".405"
  27.             .Range("Q2").Formula = "=YT|KS!TXF" & sCode & ".406"
  28.             .Range("R2").Formula = "=YT|KS!TXF" & sCode & ".407"
  29.             .Range("S2").Formula = "=YT|KS!TXF" & sCode & ".422"
  30.             .Range("T2").Formula = "=YT|KS!TXF" & sCode & ".423"
  31.             .Range("U2").Formula = "=YT|KS!TXF" & sCode & ".431"
  32.             .Range("V2").Formula = "=YT|KS!TXF" & sCode & ".170"
  33.             .Range("W2").Formula = "=YT|KS!TXF" & sCode & ".172"
  34.             .Range("X2").Formula = "=YT|KS!TXF" & sCode & ".171"
  35.             .Range("Y2").Formula = "=YT|KS!TXF" & sCode & ".173"
  36.             .Range("Z2").Formula = "=YT|KS!TXF" & sCode & ".290"
  37.             .Range("AA2").Formula = "=YT|KS!TXF" & sCode & ".291"
  38.             .Range("AB2").Formula = "=YT|KS!TXF" & sCode & ".201"
  39.             .Range("AC2").Formula = "=YT|KS!TXF" & sCode & ".202"
  40.             .Range("AD2").Formula = "=YT|KS!TXF" & sCode & ".203"
  41.             .Range("AE2").Formula = "=YT|KS!TXF" & sCode & ".204"
  42.             .Range("AF2").Formula = "=YT|KS!TXF" & sCode & ".205"
  43.             .Range("AG2").Formula = "=YT|KS!TXF" & sCode & ".211"
  44.             .Range("AH2").Formula = "=YT|KS!TXF" & sCode & ".212"
  45.             .Range("AI2").Formula = "=YT|KS!TXF" & sCode & ".213"
  46.             .Range("AJ2").Formula = "=YT|KS!TXF" & sCode & ".214"
  47.             .Range("AK2").Formula = "=YT|KS!TXF" & sCode & ".215"
  48.             .Range("AL2").Formula = "=YT|KS!TXF" & sCode & ".221"
  49.             .Range("AM2").Formula = "=YT|KS!TXF" & sCode & ".222"
  50.             .Range("AN2").Formula = "=YT|KS!TXF" & sCode & ".223"
  51.             .Range("AO2").Formula = "=YT|KS!TXF" & sCode & ".224"
  52.             .Range("AP2").Formula = "=YT|KS!TXF" & sCode & ".225"
  53.             .Range("AQ2").Formula = "=YT|KS!TXF" & sCode & ".231"
  54.             .Range("AR2").Formula = "=YT|KS!TXF" & sCode & ".232"
  55.             .Range("AS2").Formula = "=YT|KS!TXF" & sCode & ".233"
  56.             .Range("AT2").Formula = "=YT|KS!TXF" & sCode & ".234"
  57.             .Range("AU2").Formula = "=YT|KS!TXF" & sCode & ".235"
  58.             .Range("AV2").Formula = "=YT|KS!TXF" & sCode & ".147"
  59.             .Range("AW2").Formula = "=YT|KS!TXF" & sCode & ".148"

  60.             .Range("A12").Value = "台期 " & tCode                                      '  易利得
  61.             .Range("B12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!BuyPrice1"
  62.             .Range("B13").Value = "臺指     " & tCode
  63.             .Range("C12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!SellPrice1"
  64.             .Range("D12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!CurPrice"
  65.             .Range("E12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!TickVol"
  66.             .Range("F12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!Volume"
  67.             .Range("G12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!High"
  68.             .Range("H12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!Low"
  69.             .Range("I12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!Diff"
  70.             .Range("J12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!DiffRate"
  71.             .Range("K12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!UpLimit"
  72.             .Range("L12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!DownLimit"
  73.             .Range("M12").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!TheoryPrice"
  74.             .Range("D13").Formula = "=CATDDE|'FUTOPTTRADE<T>TXF" & sCode & "     '!TrustBuyVol"
  75.             .Range("D14").Formula = "=CATDDE|'FUTOPTTRADE<T>TXF" & sCode & "     '!TrustSellVol"
  76.             .Range("F13").Formula = "=CATDDE|'FUTOPTTRADE<T>TXF" & sCode & "     '!TotalBuyCnt"
  77.             .Range("F14").Formula = "=CATDDE|'FUTOPTTRADE<T>TXF" & sCode & "     '!TotalSellCnt"
  78.             .Range("H13").Formula = "=CATDDE|'FUTOPTTRADE<T>TXF" & sCode & "     '!TrustBuyCnt"
  79.             .Range("H14").Formula = "=CATDDE|'FUTOPTTRADE<T>TXF" & sCode & "     '!TrustSellCnt"
  80.             .Range("K14").Formula = "=CATDDE|'FUTOPT<FO>TXF" & sCode & "     '!Open"
  81.             .Range("A18").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!BuyVol1"
  82.             .Range("A19").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!BuyVol2"
  83.             .Range("A20").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!BuyVol3"
  84.             .Range("A21").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!BuyVol4"
  85.             .Range("A22").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!BuyVol5"
  86.             .Range("A23").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!TotalBuyVol"
  87.             .Range("B18").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!BuyPrice1"
  88.             .Range("B19").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!BuyPrice2"
  89.             .Range("B20").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!BuyPrice3"
  90.             .Range("B21").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!BuyPrice4"
  91.             .Range("B22").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!BuyPrice5"
  92.             .Range("C18").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!SellPrice1"
  93.             .Range("C19").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!SellPrice2"
  94.             .Range("C20").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!SellPrice3"
  95.             .Range("C21").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!SellPrice4"
  96.             .Range("C22").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!SellPrice5"
  97.             .Range("D18").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!SellVol1"
  98.             .Range("D19").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!SellVol2"
  99.             .Range("D20").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!SellVol3"
  100.             .Range("D21").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!SellVol4"
  101.             .Range("D22").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!SellVol5"
  102.             .Range("D23").Formula = "=CATDDE|'FUTOPT<FO>GTF" & sCode & "     '!TotalSellVol"
  103.         End With
  104.     End If
  105. End Sub
複製代碼

作者: cfuxiong    時間: 2012-10-18 22:29

回復 4# c_c_lai
我是用[工銀]的~圖裡找不到你提示的[DDE匯入字串公式]!!!
作者: c_c_lai    時間: 2012-10-18 22:34

回復 6# cfuxiong
你把10、11月兩月的Excel 傳過來看看,應該會有不同的。
作者: cfuxiong    時間: 2012-10-18 22:38

回復 5# c_c_lai
c_c_lai版大你好;我附上[工銀看盤軟體DDE]11月,你可幫我嗎?功能與之前同。
另外希望Mail我~~[email protected]
作者: cfuxiong    時間: 2012-10-18 22:41

回復 7# c_c_lai
我附上[工銀看盤軟體DDE]10月
作者: c_c_lai    時間: 2012-10-18 22:53

回復 9# cfuxiong
10 月份
  1. 時間    =IB|KS!TXFJ2.123
  2. 成交價  =IB|KS!TXFJ2.124
  3. 漲跌    =IB|KS!TXFJ2.125
  4. 單量    =IB|KS!TXFJ2.128
  5. 開盤價  =IB|KS!TXFJ2.130
  6. 最高價  =IB|KS!TXFJ2.131
  7. 最低價  =IB|KS!TXFJ2.132
  8. 成交量  =IB|KS!TXFJ2.133
複製代碼
11 月份
  1. 時間    =IB|KS!TXFK2.123
  2. 成交價  =IB|KS!TXFK2.124
  3. 漲跌    =IB|KS!TXFK2.125
  4. 單量    =IB|KS!TXFK2.128
  5. 開盤價  =IB|KS!TXFK2.130
  6. 最高價  =IB|KS!TXFK2.131
  7. 最低價  =IB|KS!TXFK2.132
  8. 成交量  =IB|KS!TXFK2.133
複製代碼
把 J2 直接修改成 K2。
作者: c_c_lai    時間: 2012-10-18 22:56

回復 9# cfuxiong
如此說明應該明瞭何謂之 J2 改成 K2 的意思吧!
作者: cfuxiong    時間: 2012-10-18 23:04

回復 10# c_c_lai
你寫的很清楚..但我還是丈二和尚摸不著頭,是在VB編輯器裡嗎?
作者: cfuxiong    時間: 2012-10-18 23:07

回復 11# c_c_lai
終於芝麻開門了~~謝謝你~~
作者: c_c_lai    時間: 2012-10-18 23:16

回復 12# cfuxiong
這跟 VB 編輯器無關,這只是台期每月換倉的異動而已,
所以我才會自己寫一支換倉的程式,每次我只按個鍵就完成換月動作,
而不需人工一一更新。你看了我的表單就會明瞭:
[attach]12823[/attach]
如果每次我都要一一更替,那暈倒的人絕對是我。
作者: cfuxiong    時間: 2012-10-19 08:29

回復 14# c_c_lai
c_c_lai版大早安;今天試試看改了[k2]的狀況!!!謝謝囉~
題外問題...我可以請教你,[O欄]的[理論價]作何定義]嗎?
另外你的[看盤表單]太美了~~
作者: c_c_lai    時間: 2012-10-19 08:36

回復 15# cfuxiong
早安!
[O欄]的[理論價]是元大匯入的項目之一。
第一次匯入後,我便一直保留原地未予刪除。
作者: barrykuo    時間: 2014-7-18 08:45

回復 10# c_c_lai
謝謝c_c_lai大大,您的指引,剛好新手我碰到換月DDE公式碼問題!這樣可以依據修改了,謝謝!




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