Excel VBA 在特定词后提取价格
Excel VBA extract price after specific word
我需要从亚马逊页面上抓取商品价格。
使用 VBA 代码 Htmldoc.GetElementById("price") 我得到这个输出:
建议零售价:£36.00
价格:25.00 英镑(35.71 英镑/升)和免费送货。送货详情
您节省:£11.00 (31%)
但是在这个例子中有没有办法只提取 25.00 的价格?
如果将文本发布到单元格,我知道如何通过关键字 'Price:' 使用 FIND 公式来完成此操作,但在这种情况下,它必须仅在 VBA 中完成。
非常感谢任何帮助。
你可以像那样使用拆分
Sub Test()
Dim s As String
s = "RRP:£36.00 Price:£25.00 (£35.71 / l) & FREE Delivery . Delivery Details You Save:£11.00 (31%)"
Debug.Print "Price = " & Split(Split(s, "Price:")(1))(0)
End Sub
您可能希望数字价格,您可以使用 Val:
PriceInfo = "RRP:£36.00 Price:£25.95 (£35.71 / l) & FREE Delivery . Delivery Details You Save:£11.00 (31%)"
Price = Val(Split(PriceInfo, "Price:£")(1))
? Price
25.95
我需要从亚马逊页面上抓取商品价格。 使用 VBA 代码 Htmldoc.GetElementById("price") 我得到这个输出:
建议零售价:£36.00 价格:25.00 英镑(35.71 英镑/升)和免费送货。送货详情 您节省:£11.00 (31%)
但是在这个例子中有没有办法只提取 25.00 的价格? 如果将文本发布到单元格,我知道如何通过关键字 'Price:' 使用 FIND 公式来完成此操作,但在这种情况下,它必须仅在 VBA 中完成。
非常感谢任何帮助。
你可以像那样使用拆分
Sub Test()
Dim s As String
s = "RRP:£36.00 Price:£25.00 (£35.71 / l) & FREE Delivery . Delivery Details You Save:£11.00 (31%)"
Debug.Print "Price = " & Split(Split(s, "Price:")(1))(0)
End Sub
您可能希望数字价格,您可以使用 Val:
PriceInfo = "RRP:£36.00 Price:£25.95 (£35.71 / l) & FREE Delivery . Delivery Details You Save:£11.00 (31%)"
Price = Val(Split(PriceInfo, "Price:£")(1))
? Price
25.95