- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2011-4-19 15:43
| 只看該作者
回復 1# chlungi
試試看
- Sub 股市資料網頁()
- Dim Rng(1) As Range, i As Integer
- With ActiveSheet
- Set Rng(0) = .[C1] '股票代號輸入處
- Set Rng(1) = .[B4] '股票數據存放起始點
- End With
- With CreateObject("InternetExplorer.Application")
- .Navigate ("http://tw.stock.yahoo.com/q/q?s=" & Rng(0))
- Do While .Busy = True
- Loop
- DoEvents
- For i = 0 To .Document.all.Length - 1
- If .Document.all(i).tagName = "TD" And Len(.Document.all(i).innerText) > 3 Then
-
- If .Document.all(i).innerText Like "****/**/**" Then Rng(0).Offset(1, -1) = .Document.all(i).innerText '取得資料的日期
-
- If .Document.all(i).innerText Like Rng(0) & "*" Then
- Rng(1).Value = Mid(.Document.all(i).innerText, 1, InStr(.Document.all(i).innerText, "加") - 2) '取得股票代號名稱
- Set Rng(1) = Rng(1).Offset(, 1) '設定下個位址
- ElseIf Len(.Document.all(i).innerText) <= 5 Then
- Rng(1).Value = .Document.all(i).innerText '取得股票數據
- Set Rng(1) = Rng(1).Offset(, 1) '設定下個位址
- End If
- End If
- Next
- .Quit
- End With
- End Sub
複製代碼 |
|