【问题标题】:Excel VBA extract price after specific wordExcel VBA在特定单词后提取价格
【发布时间】:2026-01-20 06:15:02
【问题描述】:

我需要从亚马逊页面上抓取商品价格。 使用 VBA 代码 Htmldoc.GetElementById("price") 我得到这个输出:

建议零售价:36.00 英镑 价格:25.00 英镑(35.71 英镑/升)和免费送货。交货详情 您节省:11.00 英镑 (31%)

但是在这个例子中,有没有办法只提取 25.00 的价格? 如果文本发布到单元格,我知道如何通过关键字“价格:”查找公式,但在这种情况下,它只能在 VBA 中完成。

非常感谢任何帮助。

【问题讨论】:

    标签: excel vba web-scraping extract


    【解决方案1】:

    你可以这样使用拆分

    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
    

    【讨论】:

    • 太棒了!谢谢 YasserKahil 这个选项也很有效:)
    【解决方案2】:

    您可能希望数字价格,您可以使用 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 
    

    【讨论】: