- 帖子
- 529
- 主題
- 56
- 精華
- 0
- 積分
- 607
- 點名
- 131
- 作業系統
- win 10
- 軟體版本
- []
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-3-19
- 最後登錄
- 2025-6-4
           
|
2#
發表於 2017-11-1 06:17
| 只看該作者
回復 1# DanielWONG
試看看這樣可以嗎?- Sub test()
- Dim i&, strT$, strAA$, strQQ$
- Dim Ans1#, Ans2#
-
- ''' strQQ = TD3.innerText
- strQQ = "收市價(港元) 219.200 升跌 +1.000成交量|手 2.79百萬買價(延遲)1 219.20前收市價/開市 218.20 / 218.20" & _
- "升跌(%) +0.458%成交金額 6.12億賣價(延遲)1 219.40波幅 218.20 - 220.20" & _
- "均價 219.221沽空額/比率(%)(27/10) 4.75千萬 / 7.756%" & _
- "市盈率(倍)/TTM 46.050 / 42.563每股盈利(港元)(截至 2016/12) 4.760"
- Ans1 = FindText(strQQ, "成交金額")
- Ans2 = FindText(strQQ, "均價")
- Debug.Print Ans1, Ans2
- End Sub
- Function FindText(strQQ$, QQ$)
- Dim strAA$, a%, b%
- a = InStr(strQQ, QQ)
- b = Len(QQ) - 1
- strAA = ""
- For i = 1 To 10
- strT = Mid(strQQ, i + a + b, 1)
- If Asc(strT) <> 32 Then '去除空格
- If Asc(strT) < 46 Or Asc(strT) > 57 Then Exit For '數字的 ASCII碼
- strAA = strAA & strT
- End If
- Next
- FindText = strAA
-
- End Function
複製代碼 建議把你的 VBA 貼出,也許有其他的人不用解析字串就可以有答案 |
|