需要VBA代码在Excel中绘制一系列线性数据,创建回归方程';s表示每个系列,然后写出回归方程';在Excel表格中有什么

需要VBA代码在Excel中绘制一系列线性数据,创建回归方程';s表示每个系列,然后写出回归方程';在Excel表格中有什么,excel,vba,Excel,Vba,我有一个相当简单的VBA代码,它完成了我需要它完成的75%,我只是不能让最后一步正常工作 在Excel工作表中,我有两组数据(X数据和Y数据)。对于每种情况,x数据都是相同的两个数据值。然后我有两列数据组成Y数据。我需要创建一个包含大量数据系列的Excel散点图。系列1是两个恒定的x值,第一列的第一个y值和第二列的第一个y值。第二个系列是两个相同的常量x值,第一列的第二个y值和第二列的第二个y值,依此类推。这些列大约有300多行(因此总共>300个系列)。我意识到一个散点图在一个图中最多只能处理

我有一个相当简单的VBA代码,它完成了我需要它完成的75%,我只是不能让最后一步正常工作

在Excel工作表中,我有两组数据(X数据和Y数据)。对于每种情况,x数据都是相同的两个数据值。然后我有两列数据组成Y数据。我需要创建一个包含大量数据系列的Excel散点图。系列1是两个恒定的x值,第一列的第一个y值和第二列的第一个y值。第二个系列是两个相同的常量x值,第一列的第二个y值和第二列的第二个y值,依此类推。这些列大约有300多行(因此总共>300个系列)。我意识到一个散点图在一个图中最多只能处理256个系列,所以我无法在一个图中全部拟合它们。这不是重点。我试着策划,比如说,50部系列片,我的这一部分做得很好。接下来,因为所有系列都是直线,我需要每个系列的斜率/回归信息,所以我创建一条线性趋势线,并在图表上绘制方程。我已经将此部分自动化,并在Excel中正常工作。不过,这就是我被困的地方。最后一步是,让VBA在单个绘图中创建50个系列并生成所有回归方程后,我需要Excel获取这些方程并将它们粘贴到主工作表(绘图数据所在的位置)的列中。我在谷歌上找到了一些应该这样做的东西(抓取trendline.datalabel.text并将其粘贴到表单中),但它工作不正常,我也不知道我做错了什么。我已经尝试了20种不同的方法,但我的头仍在碰壁。如果您对代码的后半部分有任何帮助,我们将不胜感激。多谢各位

Sub Plot_slopes()


Dim i As Integer

Dim ChtOb As ChartObject


   Dim objTrendline As Trendline

  Dim strEquation As String


Set ChtOb = ActiveSheet.ChartObjects.Add(Left:=20, Width:=800, Top:=20, Height:=250)

ChtOb.Chart.ChartType = xlXYScatterSmoothNoMarkers
ChtOb.Activate


i = 9


For i = 9 To 59



With ActiveChart.SeriesCollection.NewSeries
    .Name = "FS" & i
    .XValues = Worksheets("summary").Range(Worksheets("summary").Cells(3, 7), Worksheets("summary").Cells(4, 7))
    .Values = Worksheets("summary").Range(Worksheets("summary").Cells(i, 13), Worksheets("summary").Cells(i, 14))
    .Trendlines.Add


     End With



With ActiveSheet.ChartObjects(1).Chart

Set objTrendline = .Trendlines(1)

With objTrendline

   .DisplayRSquared = False
    Trendlines(1).DisplayEquation = True
    strEquation = .DataLabel.Text
    Range("Q9").Offset(i, 0) = strEquation


End With

End With



    Next i




End Sub

我主要需要在第一个with Block之后的代码以及它以activesheet.chartobjects(1.chart)等的新“with…”开头的代码方面的帮助,不过,我在第一个with Block中的.name部分也遇到了问题。目标是获得最后一个块,以便VBA将每个创建系列的回归方程写入主“摘要”工作表

您不必从绘图中选择回归-您可以直接使用公式进行回归-例如,谢谢-这实际上是一个伟大的观点-我不知道您可以使用公式进行回归。我可以用这种方法完全绕过VBA。谢谢