English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請問我在使用 EXCEL DDE 連結功能時,
A1 儲存格的內容是 =DServer|\'Func\'!\'1299.PRICE\'
但我的 1299 這裡的內容希望能參考 A2 儲存格的內容
若是 A2 = 13058 希望A1 的值能夠隨著 A2 的內容
自動變成 =DServer|\'Func\'!\'1299.PRICE\' , 請問要如何做. 謝謝

2006-04-22 03:33:48 · 2 個解答 · 發問者 ? 1 in 電腦與網際網路 軟體

上面寫錯了 應該是
A1自動變成 =DServer|'Func'!'13058.PRICE'

2006-04-22 03:36:22 · update #1

A2 是手動輸入, 且有上千種可能.

2006-04-22 18:07:57 · update #2

謝謝 沙拉油,
我初步這樣測試,是可以的, 但是我有一些疑問?
看起來這程式邏輯在表單的資料有變動時,就會執行一次
若我的其他儲存格會一直變動, 此程序是否也會一直執行
是否會造成Cpu 使用率太高.
我的實際應用是股市, A2 是股票代號 , 如在A2輸入1101 ,依你的說明, 現在已經能自動在 A1顯示台泥的成交價 ,
但我考慮的是成交價一直在變動(表單的內容也變動了, 而且有很多股票), 是否會造成 程序一直在計算.
有無只在 A1輸入後, 才直接改變A2 的內容的方式!
其他儲存格變動, 並不會觸發此程序, 謝謝
抱歉一開始沒有將問題說清楚.

2006-04-23 02:36:51 · update #3

2 個解答

a2 的值是手動輸入的還是連結其他儲存格?
a2 的值是只有上述兩種還是不一定?

2006-04-22 23:35:26 補充:
滑鼠右鍵點選「工作表索引標籤」上的工作表名稱,例如:Sheet1
選「檢視程式碼」>> 游標所在處貼上底下的程式碼 >> 同時按下 Alt + Q 回到 Excel

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" And [A2] <> "" Then
[A1] = "=DServer|'Func'!'" & [A2] & ".PRICE'"
End If
End Sub

2006-04-23 18:43:21 補充:
>>若我的其他儲存格會一直變動, 此程序是否也會一直執行DDE 更新時只會觸發 Calculate 事件,不會觸發 Change 事件所以上述的事件程序不會有造成CPU的負擔的問題,你可以自己在 change 事件與 calculate 事件內分別寫上其他的程式碼就可以證實。

2006-04-23 18:49:07 補充:
>>有無只在 A1輸入後, 才直接改變A2 的內容的方式! >>其他儲存格變動, 並不會觸發此程序, 謝謝If Target.Address = "$A$2" And [A2] <> "" Then改成If Target.Address = "$A$2" And [A2] <> "" And [a1].Formula <> "" Then改過程式碼之後A1有輸入公式且A2有輸入資料才會改變A1的DDE連結公式。

2006-04-22 19:35:26 · answer #1 · answered by 沙拉油 5 · 0 0

可否直接於 formula bar 上打上 =DServer|'Func'!'" & [A2] & ".PRICE ?

2010-12-08 06:58:07 · answer #2 · answered by Keith 2 · 0 0

fedest.com, questions and answers