Excel VBA : I record macro with scatter plot that executes x, f(x),但是当我运行宏时,总是将 X 和 F(x) 绘制为单独的函数

标签 excel excel-2007 scatter-plot vba

就像我说的,我有一组数据,只是一个简单的 x 列,然后是一个函数 f(x) 列。当我录制宏时,我只需为每列选择 x、f(x) 和下面的二十个值,选择散点图,它就会输出我想要的图形,其中 f 充当 x 的函数。

当我运行宏时,它总是输出散点图,但不是将 f(x) 绘制为 x 的函数,而是将两组数字绘制为独立序列。我不知道如何更改它。

这是我的代码:

Sub insertGraph()
'
' insertGraph Macro
'

'
Range("A4:B25").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("'Sheet5'!$A$4:$B$25")
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
End Sub

最佳答案

在设置 SetSourceData 之前设置 ChartType

发生的事情是 AddChart 和/或 SetSourceData 创建一个默认类型(Column)的图表,它没有 X 轴数据,因此将 A 列和 B 列绘制为两个系列。更改为分散会保留这两个系列。

您还应该避免使用Select(记录器有助于找出要使用的对象,但会产生糟糕的代码!)。方法如下:

Sub insertGraph()
    '
    ' insertGraph Macro
    '
    Dim cht As Chart
    Set cht = ActiveSheet.Shapes.AddChart(XlChartType:=xlXYScatterSmoothNoMarkers).Chart
    With cht
        .SetSourceData Source:=Range("A4:B25")
        ' add additional code to set other properties of the chart...

    End With
End Sub

关于Excel VBA : I record macro with scatter plot that executes x, f(x),但是当我运行宏时,总是将 X 和 F(x) 绘制为单独的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18423608/

相关文章:

vba - 当范围实际有数据时,Excel Range.Value 返回 0

javascript - 鼠标悬停在 d3.js 中无法通过将其附加到圆圈来工作

c# - 无法将带 [] 的索引应用于类型 'CaSTLe.Proxies.RangeProxy' 的表达式

excel - 如何在excel中获取3个斜杠后的字符串

mysql - 大量sql导出到excel过程的进度条

vba - 将数据锁定到 Excel 图表

r - 如何循环遍历列并创建不同的图?

python-3.x - 如何删除图例的特定部分(seaborn,散点图)

excel - 如何使用shell脚本将结果保存在excel中的单独列中

python - 我在使用 python 从 Excel 工作表读取日期和时间时遇到问题