2013-02-19 43 views
1

我對宏而言並不陌生,對於這個論壇來說是新的。我搜索了論壇,並沒有找到我正在尋找的答案。我正在編寫一個宏來啓動彭博DDE,因此當單擊一個按鈕時,終端窗口將以前面提到的特定語法出現。用戶選擇隨機excel單元格,點擊按鈕,宏執行 - 彭博DDE

一般的緣故,讓我們說,$ B $ 3 = MSFT,$ H $ 2 = CSCO,$ E $ 9 = GIS

如果用戶在電子表格中選擇MSFT,然後點擊該GIP30按鈕,我想下面發送到BB終端:除了宏識別被選擇什麼細胞

MSFT GIP30

所以,「US」可能需要被髮送到BB DDE之前要追加。我從網上收集了一些消息。

當我硬編碼「MSFT US」,但需要它是動態的時候,纔有用。我評論了「動態」代碼。

所有幫助表示讚賞。

謝謝。

Sub OpenGIP() 

Dim ch As Long 
ch = DDEInitiate("winblp", "bbk") 
'Opens Bloomberg window #2 (Note: <blp-n> - where n is [BB Window instance # - 1]) 
Call DDEExecute(ch, "<blp-1><home> MSFT US <EQUITY> GIP30 <GO>") 
'Call DDEExecute(ch, "<blp-1><home> ActiveCell.Value & ' US' <EQUITY> GIP30 <GO>") 
Call DDETerminate(ch) 

End Sub 

回答

2

試試這個

Call DDEExecute(ch, "<blp-1><home> " & ActiveCell.value & " US <EQUITY> GIP30 <GO>") 
+0

中提琴!謝謝! – CMR72 2013-02-19 20:32:51

+0

很高興能有幫助:) – 2013-02-19 20:38:24