从现有的 xy 图中删除数据系列
Delete data series from existing xy graph
我想创建一个代码,从 sheet 上的现有 xy 图表中删除数据系列。
但我不知道这段代码有什么问题。有人请帮助我。
Dim srs As Series
ActiveSheet.ChartObjects("Chart 1").Activate
With ActiveChart
For Each srs In .SeriesCollection
If .Name = c Then
.SeriesCollection(srs).Delete
End If
Next
End With
当您使用 With [Object] ... End With 时,所有有效的点方法或属性都将附加到该 [Object]
With ActiveChart
For Each srs In .SeriesCollection
If .Name = c Then
.SeriesCollection(srs).Delete
End If
Next
End With
实际上,这将变成:
For Each srs In ActiveChart.SeriesCollection
If ActiveChart.Name = c Then
ActiveChart.SeriesCollection(srs).Delete
End If
Next
我认为 ActiveChart.Name 不是要在您的 IF 语句中进行比较的 属性。
您可以尝试在您的 IF 中使用“srs.Name = c”,然后在其中尝试使用“srs.Delete”,如下所示:
With ActiveChart
For Each srs In .SeriesCollection
If srs.Name = c Then
srs.Delete
End If
Next
End With
如果有效请告诉我。
我想创建一个代码,从 sheet 上的现有 xy 图表中删除数据系列。 但我不知道这段代码有什么问题。有人请帮助我。
Dim srs As Series
ActiveSheet.ChartObjects("Chart 1").Activate
With ActiveChart
For Each srs In .SeriesCollection
If .Name = c Then
.SeriesCollection(srs).Delete
End If
Next
End With
当您使用 With [Object] ... End With 时,所有有效的点方法或属性都将附加到该 [Object]
With ActiveChart
For Each srs In .SeriesCollection
If .Name = c Then
.SeriesCollection(srs).Delete
End If
Next
End With
实际上,这将变成:
For Each srs In ActiveChart.SeriesCollection
If ActiveChart.Name = c Then
ActiveChart.SeriesCollection(srs).Delete
End If
Next
我认为 ActiveChart.Name 不是要在您的 IF 语句中进行比较的 属性。
您可以尝试在您的 IF 中使用“srs.Name = c”,然后在其中尝试使用“srs.Delete”,如下所示:
With ActiveChart
For Each srs In .SeriesCollection
If srs.Name = c Then
srs.Delete
End If
Next
End With
如果有效请告诉我。