如何将变量插入到预期的字符串中,分隔问题? Excel的VBA

时间:2017-07-27 15:58:50

标签: excel vba excel-vba

我正在尝试通过WEBSERVICE函数从Yahoo Finance检索数据,然后通过循环填充数据。我知道问题在于撇号,因为有两个变量我不知道如何划分它们。我尝试过组合" &安培;符号& ",双撇号,没什么用。

非常感谢任何帮助,谢谢!

代码是:

Sub marketdata()

    Dim symbol As String
    Dim parameter As String
    Dim rows As Long
    Dim cols As Long

    For rows = 2 To 5700
        For cols = 3 To 20
            symbol = Cells(rows, 2).Value
            parameter = Cells(1, cols).Value
            Cells(rows, cols).Value = "=WEBSERVICE _
            (""https://download.finance.yahoo.com/d/quotes.csv?s=SYMBOL&f=PARAMETER"")"
        Next cols
    Next rows

End Sub

这是我的第一篇文章,如果我需要澄清任何内容,请告诉我。

1 个答案:

答案 0 :(得分:0)

我会使用两个Replace操作将单元格值放入字符串中。

Dim sp As String
Dim rows As Long
Dim cols As Long

For rows = 2 To 5700
    For cols = 3 To 20
        sp = "=WEBSERVICE(""https://download.finance.yahoo.com/d/quotes.csv?s=%1%&f=%2%"")"
        sp = Replace(Replace(sp, "%1%", Cells(rows, 2).Value), "%2%", Cells(1, cols).Value)
        Debug.Print sp
        Cells(rows, cols).Value = sp    'should this be .Formula?
    Next cols
Next rows

您可能还希望开始包含父工作表引用。