Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Excel VBA中从公式中获取常数?_Excel_Vba_Excel Formula - Fatal编程技术网

如何在Excel VBA中从公式中获取常数?

如何在Excel VBA中从公式中获取常数?,excel,vba,excel-formula,Excel,Vba,Excel Formula,我添加了一条趋势线,得到它的线性方程值为y=ax+b形式。在excel VBA中,如何从公式中获取常数a?在公式中 以下方程式假定工作表有两个命名范围:x和y。然后: 资料来源: 如果没有命名范围,则使用例如: a=斜率B2:B22,A2:A22 b=B2:B22,A2:A22 在VBA中 rangeX=RangeCells2,1,Cells22,1'或:rangeX=RangeA2:A22 rangeY=RangeCells2,2,Cells22,2'或:rangeY=RangeB2:B22

我添加了一条趋势线,得到它的线性方程值为y=ax+b形式。在excel VBA中,如何从公式中获取常数a?

在公式中

以下方程式假定工作表有两个命名范围:x和y。然后:

资料来源:

如果没有命名范围,则使用例如:

a=斜率B2:B22,A2:A22 b=B2:B22,A2:A22 在VBA中

rangeX=RangeCells2,1,Cells22,1'或:rangeX=RangeA2:A22 rangeY=RangeCells2,2,Cells22,2'或:rangeY=RangeB2:B22 a=Application.WorksheetFunction.SloperangeY,rangeX b=Application.WorksheetFunction.InterceptrangeY,rangeX 在公式中

以下方程式假定工作表有两个命名范围:x和y。然后:

资料来源:

如果没有命名范围,则使用例如:

a=斜率B2:B22,A2:A22 b=B2:B22,A2:A22 在VBA中

rangeX=RangeCells2,1,Cells22,1'或:rangeX=RangeA2:A22 rangeY=RangeCells2,2,Cells22,2'或:rangeY=RangeB2:B22 a=Application.WorksheetFunction.SloperangeY,rangeX b=Application.WorksheetFunction.InterceptrangeY,rangeX
您可以通过打开标签来读取实际公式

然后读取标签本身并解析它

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

您可以通过打开标签来读取实际公式

然后读取标签本身并解析它

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

@Hakan–如果它对您有效,请单击左侧的复选标记接受最有用的答案。高质量的答案也可以被提升。嗨@miroxlav我选了你的答案,因为它看起来还行,但我很难在单元格上写下它,常数“a”也无法在即时windows调试中打印。print@Hakan–您似乎将两个答案中的代码混合在一起。你认为你只能使用这个答案中的代码吗?当代码混合时,更难理解错误。@Hakan–如果它对您有效,请单击左侧的复选标记接受最有用的答案。高质量的答案也可以被提升。嗨@miroxlav我选了你的答案,因为它看起来还行,但我很难在单元格上写下它,常数“a”也无法在即时windows调试中打印。print@Hakan–您似乎将两个答案中的代码混合在一起。你认为你只能使用这个答案中的代码吗?当代码混合时,更难理解错误。