如何在Access中使用Excel(2007)趋势功能?

时间:2014-03-17 15:38:59

标签: excel ms-access ms-access-2007 access-vba trend

是否有快速方法在Access中使用Excel的趋势功能?

具体来说,我想使用Access数据库中的值来将值投影24个月。我还想使用在新列中计算的值更新数据库/表。

我是个菜鸟。

1 个答案:

答案 0 :(得分:1)

"是否可以快速在Access中使用Excel的趋势功能?"

这是可能的。但很快,也许不是那么多。

给出已知X和Y值的Trend()函数数组,以及要为其预测Y值的扩展X范围的另一个数组。 Trend()会返回另一个包含预测Y值的数组。

此代码在Access 2007中使用,引用了Excel对象库。

Dim knownX, knownY, newX, TrendY
Dim i As Long

knownY = Array(2, 4, 5)
knownX = Array(1, 2, 3)
newX = Array(4, 5)
TrendY = Excel.WorksheetFunction.Trend(knownY, knownX, newX)
For i = LBound(TrendY) To UBound(TrendY)
    Debug.Print "X: " & newX(i - 1), "Y: " & TrendY(i)
Next

我使用Array()来创建输入数组,但是您希望数组包含表中的值,这样会更省力。

还要注意Access数组(通常)从零开始,但Trend()返回一个基于一的数组。确保您知道自己要处理的是什么。

而且,由于您打算存储预测的Y值,您将需要做更多的工作。

在考虑了这个之后,我怀疑将Access数据导出到Excel工作簿可能更容易,然后使用COM自动化修改Excel中的工作表,保存修改后的工作簿,最后将工作表数据拉回到访问。