Excel VBA中如何从公式中获得常量?
我添加了一个趋势线,并得到其线性方程的值为y = ax + b
forms。 在Excel VBA中,我怎样才能从这个公式得到a
恒定a
?
您可以通过打开标签来阅读实际的公式
然后阅读标签本身并parsing它
Sub readFormula() Dim ttt As Trendline Set ttt = ActiveChart.FullSeriesCollection(1).Trendlines(1) ttt.DisplayEquation = True Debug.Print ttt.DataLabel.Caption Debug.Print ttt.DataLabel.Formula Debug.Print ttt.DataLabel.FormulaLocal Debug.Print ttt.DataLabel.FormulaR1C1 Debug.Print ttt.DataLabel.FormulaR1C1Local Debug.Print ttt.DataLabel.Text ttt.DisplayEquation = False end sub
在公式中
以下等式假定您的工作表有两个命名范围: x
和y
。 然后:
a = SLOPE(y,x) b = INTERCEPT(y,x)
资料来源: 图表趋势线公式
没有命名的范围,你使用例如:
a = SLOPE(B2:B22, A2:A22) b = INTERCEPT(B2:B22, A2:A22)
在VBA中
rangeX = Range(Cells(2, 1), Cells(22, 1))) ' OR: rangeX = Range("A2:A22") rangeY = Range(Cells(2, 2), Cells(22, 2))) ' OR: rangeY = Range("B2:B22") a = Application.WorksheetFunction.Slope(rangeY, rangeX) b = Application.WorksheetFunction.Intercept(rangeY, rangeX)