【问题标题】:How do I index the argument of an excel worksheet function within a for loop in VBA?如何在 VBA 的 for 循环中索引 excel 工作表函数的参数?
【发布时间】:2019-08-22 22:51:52
【问题描述】:

我正在尝试编写一段代码来索引一系列单元格,将 Excel 工作表函数(在本例中为 Forecast() 函数)的输出写入每个单元格。但是,我也在尝试为函数的输入建立索引,因为这些需要更改。

这是我目前正在使用的:

For i = Start To ForecastSize
        Worksheets("Data Inputs").Cells(i, 5).Formula = "=Forecast(Worksheets("Data Inputs").Cells(i,1),$D$2:D12,$A$2:A12)"
    Next i

在这种情况下,Start 和 ForecastSize 都是我的数据特有的变量,但它们与此无关,索引可以是任何东西。

Forecast() 函数的第一个参数是问题所在。如果我将其更改为常数,例如 A12,那么我的代码会运行,但它会将相同的预测输出写入第 5 列中的所有 i 单元格。

我收到一个编译错误:预期:语句结束

我在某处读到函数中的字符串需要双引号,因此我尝试将“数据输入”作为 Forecast() 函数的第一个参数,但随后出现运行时错误“1004”:应用程序-定义或对象定义的错误。

任何帮助将不胜感激!

【问题讨论】:

  • "=Forecast(" & Worksheets("Data Inputs").Cells(i,1) & ",$D$2:D12,$A$2:A12)"
  • 谢谢斯科特!我还需要通过索引已知的 x 和 y 来更新 Forecast() 函数的第二个和第三个参数。所以现在它显示 D2:D12 和 A2:A12,但我希望能够每次通过循环将范围更新为 D2:D13 和 A2:A13 等等。我会使用类似的方法吗?

标签: excel vba


【解决方案1】:

这个预测是线预测,也许你可以计算a,b,让公式更灵活。

y=a+bx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 2018-01-23
    相关资源
    最近更新 更多