在前幾天的影片中介紹了如何使用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報價



Post a Comment

較新的 較舊