3

私が言ったように、単純な x 列と関数である f(x) 列のデータセットがあります。マクロを記録するときは、x、f(x)、および各列の以下の 20 の値を選択し、散布図を選択すると、必要なグラフが出力されます。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
4

1 に答える 1

1

を設定するChartType前にSetSourceData

何が起こっているかAddChartというと、SetSourceDataX 軸データを持たないデフォルト タイプ (列) のグラフを作成するため、列 A と B を 2 つのシリーズとしてプロットします。Scatter に変更すると、これら 2 つのシリーズが保持されます。

また、使用を避ける必要があります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
于 2013-08-25T04:32:17.900 に答える