Board logo

標題: [發問] 請問DDE代號要如何建立 [打印本頁]

作者: Apple007    時間: 2015-7-11 23:13     標題: 請問DDE代號要如何建立

請問各位前輩,A1儲存格是股票代號,B1儲存格是DDE連結(公式),我要如何在A2儲存格貼上2317後,讓B2儲存格變成=CATDDE|'STOCK<Q>2317  '!ExecutionVol,A3儲存格貼上3069後,B3對應變成=CATDDE|'STOCK<Q>3069  '!ExecutionVol,依此類推!請教各位前輩大大,謝.

3481   =CATDDE|'STOCK<Q>3481  '!ExecutionVol
2317
3069
4958
2330
1101
2409
6121
1477
8076
[attach]21367[/attach]
作者: jackyq    時間: 2015-7-11 23:51

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
    Target.Offset(, 1) = "=CATDDE|'STOCK<Q>" + Target.Text + Space(6 - Len(Target.Text)) + "'!ExecutionVol"
End If
End Sub
作者: Apple007    時間: 2015-7-12 12:11

本帖最後由 Apple007 於 2015-7-12 12:12 編輯

回復 2# jackyq

謝謝jackyq 大協助,在A欄輸入股票代號後可在B欄產生對應,不過要一筆一筆輸入,我如果一次要在A欄貼上600多筆代號,在B欄同時產生對應代碼,可否達成或要如何修改.
[attach]21370[/attach]
作者: jackyq    時間: 2015-7-12 13:27

Private Sub Worksheet_Change(ByVal Target As Range)
Excel.Application.EnableEvents = False
For Each Rng In Target
If Rng.Column = 1 Then
    Rng.Offset(, 1) = "=CATDDE|'STOCK<Q>" + Rng.Text + Space(6 - Len(Rng.Text)) + "'!ExecutionVol"
End If
Next
Excel.Application.EnableEvents = True
End Sub
作者: Apple007    時間: 2015-7-12 18:20

回復 4# jackyq

測試OK了!用VBA執行DDE代號建立省去了用人工輸入的很多時間,感謝jackyq 的程式協助!
作者: weans1975    時間: 2015-8-25 03:32

Jackyq大,請問這一段code,要貼在excel何處。操作步驟是如何?
如果我的例子是
1101 =YES|DQ!'1101.Open' =YES|DQ!'1101.High' =YES|DQ!'1101.Low' =YES|DQ!'1101.Price'
1102
1103
可以怎麼處理呢?謝謝!!
作者: ikboy    時間: 2015-8-25 07:49

這是頁的觸發事件,放在當頁就是。




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