向散点图添加额外的序列

问题描述 投票:0回答:1

我正在尝试创建将序列添加到散点图的代码。该代码可以运行,但是添加了大约100个未指定的额外数据系列。我的vba技能很基本。

Dim DownSweep As Chart
Dim xrng As Range
Dim yrng As Range
Dim title As Range
Dim dsvt As Worksheet
Dim dst As Worksheet
Dim i As Integer

t = 1

CLEAN:
    If t < ActiveWorkbook.Charts.Count + 1 Then
    If ActiveWorkbook.Charts(t).Name = "DownSweep Graph" Then
    Application.DisplayAlerts = False
    ActiveWorkbook.Charts("DownSweep Graph").Delete
    Application.DisplayAlerts = True
    t = t + 1
    GoTo CLEAN
    End If
    End If

    Set dst = Worksheets("Template 2 - Down Sweep")
    Set dsvt = Worksheets("DownSweep ViscosityTemperature")

Set xrng = dsvt.Range(dsvt.Range("C2"), dsvt.Range("C2").End(xlDown))
Set yrng = dsvt.Range(dsvt.Range("F2"), dsvt.Range("F2").End(xlDown))
Set title = dsvt.Range("F1")

dsvt.Range("E1").Select

    Set DownSweep = Charts.Add
    DownSweep.Name = "DownSweep Graph"

    With DownSweep
            .ChartType = xlXYScatter
            .SeriesCollection.NewSeries
            .SeriesCollection(1).XValues = xrng
            .SeriesCollection(1).Values = yrng
            .SeriesCollection(1).Name = title
    End With

title = title.Offset(0, 1)

For i = 2 To 99
        With DownSweep.SeriesCollection.NewSeries()
            .XValues = xrng.Offset(0, i - 1).Value
            .Values = yrng.Value
            .Name = title
        End With
        title = title.Offset(0, i)
    Next i

End Sub

如何防止这种情况发生?

任何帮助将不胜感激。

excel vba series excel-charts
1个回答
0
投票

那是因为您要在添加图表之前在源数据中选择一个单元格。因此,它将自动将该数据设置为源并创建系列集合。

因此,请确保活动单元格不在源数据中,或者在添加新系列集合之前,使用以下代码删除现有系列集合。

With DownSweep
    Do While .SeriesCollection.Count > 0
        .SeriesCollection(1).Delete
    Loop
End With
© www.soinside.com 2019 - 2024. All rights reserved.