- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2024-11-14
|
7#
發表於 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 公式即可.
好處是執行時間會縮短, 效果卻不變. |
|