Board logo

標題: [發問] dde 連結 公式更改 ? [打印本頁]

作者: t8899    時間: 2014-11-29 09:38     標題: dde 連結 公式更改 ?

dde 連結 =XQKGIAP|Quote!'2317.TW-Name'
想把 2317A2的值取代 ,不知如何更改?
作者: luhpro    時間: 2014-12-2 21:53

dde 連結 =XQKGIAP|Quote!'2317.TW-Name'
想把 2317 用A2的值取代 ,不知如何更改?
t8899 發表於 2014-11-29 09:38


[C3].Formula="=XQKGIAP|Quote!'" & [A2] & ".TW-Name'"
作者: t8899    時間: 2014-12-3 07:36

本帖最後由 t8899 於 2014-12-3 07:37 編輯
[C3].Formula="=XQKGIAP|Quote!'" & [A2] & ".TW-Name'"
luhpro 發表於 2014-12-2 21:53


我是要直接在公式裡改(直接套用),不是用VB去改公式
作者: 准提部林    時間: 2014-12-9 17:19

參考, 看能不能自行套用:
https://tw.knowledge.yahoo.com/question/question?qid=1013050800336
https://tw.knowledge.yahoo.com/question/question?qid=1013032004425

固定長度文字,可使用〔取代〕方法∼∼
 
作者: luhpro    時間: 2014-12-10 00:16

本帖最後由 luhpro 於 2014-12-10 00:21 編輯
我是要直接在公式裡改(直接套用),不是用VB去改公式
t8899 發表於 2014-12-3 07:36

就我所知 :

那當然是不行的啦.
你的需求是在儲存格公式內的 DDE連結 可直接參照另一儲存格的內容做變化,
亦即此 DDE連結公式 是動態的,
當所參照的儲存格內容有異動(非DDE連結的資料有異動)這個DDE連結會跟之前不同,
類似的參照物可變更功能應該是只有 INDIRECT 函數,
但它卻並不支援DDE公式.
作者: t8899    時間: 2014-12-10 09:29

就我所知 :

那當然是不行的啦.
你的需求是在儲存格公式內的 DDE連結 可直接參照另一儲存格的內容做變 ...
luhpro 發表於 2014-12-10 00:16


我的想法也是只能用 INDIRECT ,但失效 :-(
我改用vb 用replace 做 ,因為按照權值大小排序,一段時間,須排序一次
For Each rng In Range(Cells(i, "b"), Cells(i, "m"))
    rng.Replace What:="!'????", Replacement:="!'" & Cells(i, 1), LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
Next rng
作者: luhpro    時間: 2014-12-10 21:36

我的想法也是只能用 INDIRECT ,但失效 :-(
我改用vb 用replace 做 ,因為按照權值大小排序,一段時間, ...
t8899 發表於 2014-12-10 09:29

你可以考慮換個角度想:
1. 如果單純只是整個表格內容須依照某些欄內的值做排序,
那只要指定好要排序的範圍就可以了 (例如 : Range(Columns(1),Columns(9)).Sort ... 或 Range(Rows(1),Rows(9)).Sort ...) ,
DDE 公式完全不用變,
因為它會是整欄(或列)一起移動的,
原先是對應哪支股票排序後仍然還是會對應那支股票.

2. 若是 DDE 公式中所參照的儲存格內容可能會變動,
那可以考慮在 Worksheet_Change 對 Target 位於該欄(或該列)時,
執行類似上面 2# 所舉例的程式去異動其所對應儲存格的 DDE 公式即可.

好處是執行時間會縮短, 效果卻不變.
作者: t8899    時間: 2014-12-10 21:47

你可以考慮換個角度想:
1. 如果單純只是整個表格內容須依照某些欄內的值做排序,
那只要指定好要排序的範 ...
luhpro 發表於 2014-12-10 21:36


謝謝指導!




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