我正在尝试在 VBA 中创建一个函数,当接收一列数据和图形标题时,返回 Excel 中的简单回归图形。这是代码。我已尝试更改代码,但仍然出现相同的值错误。
Function ModeloEstimacionUnicaColumna(ColumX As Range, TitleGraphic As String) As Boolean
If ColumnaX Is Nothing Then
MsgBox "La columna de datos está vacía."
ModeloEstimacionUnicaColumna = False
Exit Function
End If
Dim DatosX As Variant
Dim Modelo As Object
Set Modelo = CreateObject("Excel.Application")
DatosX = ColumnaX.Value
Modelo.Workbooks.Add
Modelo.ActiveSheet.Cells(1, 1).Resize(UBound(DatosX), 1).Value = Application.Transpose(DatosX)
Modelo.Charts.Add
Modelo.ActiveChart.SetSourceData Source:=Modelo.ActiveSheet.Range("Sheet1!$A$1:$A$" & UBound(DatosX))
Modelo.ActiveChart.ChartType = xlXYScatterLines
Modelo.ActiveChart.Location Where:=xlLocationAsNewSheet
Modelo.ActiveChart.HasTitle = True
Modelo.ActiveChart.ChartTitle.Text = TitleGraphic
ModeloEstimacionUnicaColumna = True
End Function
我不确定是否有一些Excel库我没有应用或者我在代码中是否犯了一些严重的语法错误。 我希望一旦我为函数提供所需的变量,它将返回所需的简单回归图。
似乎有一些问题;
“ColumX”和“ColumnaX”。我使用“ColumnX”来保持一致。
“Modelo”对象,使用现有的 Excel 应用程序而不是创建新的应用程序。
源数据引用“Sheet1!$A$1:$A$”& UBound(DatosX)。
函数 ModeloEstimacionUnicaColumna(ColumnX 作为范围,TitleGraphic 作为字符串)作为布尔值
If ColumnX Is Nothing Then
MsgBox "La columna de datos está vacía."
ModeloEstimacionUnicaColumna = False
Exit Function
End If
' Check if ColumnX is a single column.
If ColumnX.Columns.Count > 1 Then
MsgBox "La columna de datos no es válida. Debe ser una única columna."
ModeloEstimacionUnicaColumna = False
Exit Function
End If
Dim DatosX As Variant
Dim ChartSheet As Worksheet
Dim MyChart As ChartObject
DatosX = ColumnX.Value
Set ChartSheet = ThisWorkbook.Sheets.Add
Set MyChart = ChartSheet.ChartObjects.Add(Left:=10, Width:=375, Top:=75, Height:=225)
' Set source data directly.
MyChart.Chart.SetSourceData Source:=ColumnX
MyChart.Chart.ChartType = xlXYScatterLines
MyChart.Chart.HasTitle = True
MyChart.Chart.ChartTitle.Text = TitleGraphic
ModeloEstimacionUnicaColumna = True
结束功能