在前幾天的影片中介紹了如何使用XQ全球贏家的DDE伺服器來串接Excel收取盤中即時報價,但要新增或修改標的股票時,確是相當的麻煩,需要整個重新操作一次,所以這個影片就要分享如何使用Excel VBA來達成如影片中所展示的,一鍵取得最新股票報價的功能。
程式碼如下:
'==========首次建立報價==========
'==========報價頁==========
'1、打開XQ全球贏家,取得DDE報價公式
'2、新增一個xlsb檔,新增報價頁
'3、運行以下代碼,把KeyWord填在第一行
Sub 取得DDE公式KeyWord()
Dim pos As Integer, ppos As Integer
For i = 2 To [A2].End(xlToRight).Column 'i=第三欄到最右邊最後一欄
pos = InStr(Cells(3, i).Formula, "-") + 1 '由左至右找出"-"出現的位置,取得輸入關鍵字的起始位置
ppos = InStrRev(Cells(3, i).Formula, "'") '由右至左找出"'"出現的位置,取得輸入關鍵字的結束位置
Cells(1, i) = Mid(Cells(3, i).Formula, pos, ppos - pos) '把取得的關鍵字輸入在第1例
Next
End Sub
'4、在"A"列輸入要取得報價的商品
'5、運行以下代碼取得所有報價公式
Sub 填入DDE報價公式()
For i = 3 To [A1].End(xlDown).Row '取得最後一例
For k = 2 To [A2].End(xlToRight).Column '取得最後一欄
Cells(i, k).Formula = "=IFERROR(@XQLITE|Quote!'" & Cells(i, 1) & ".TW-" & Cells(1, k) & "',""#N/A"")" '輸入股票公式
Next
Next
End Sub
Sub 刪除()
Range([B3], [Q3].End(xlDown)).ClearContents
End Sub
檔案下載:EXCEL vba 快速取得DDE報價
張貼留言