我想绘制一个条形图,上面有一条线。当我只绘制条形图时,会出现名称,但是当我添加另一个系列时,它会消失,并且通过添加ActiveChart.Name =“Name”不起作用,ActiveChart.Parent.Name =“Name”(这会更改表格的名称)。谢谢
Dim myChtObj As ChartObject
Set myChtObj = ActiveSheet.ChartObjects.Add _
(Left:=100, Width:=800, Top:=75, Height:=400)
myChtObj.Chart.ChartType = xlColumnClustered
myChtObj.Activate
With ActiveChart.SeriesCollection.NewSeries
.Name = sheetName
.Values = yValues
.xValues = xValues
End With
ActiveChart.SeriesCollection.NewSeries.Name = "line"
ActiveChart.SeriesCollection("line").Values = yValues
ActiveChart.SeriesCollection("line").xValues = xValues
ActiveChart.SeriesCollection("line").ChartType = xlLine
ActiveChart.legend.Select
Selection.Delete
答案 0 :(得分:0)
请参阅以下内容,为图表添加图表标题,并添加第二个系列参考,以确保按编号添加系列。我添加了一些虚拟值。适用于SeriesCollection
或FullSeriesCollection
。
您可以使用宏录制器录制添加其他元素。
Option Explicit
Sub test()
Dim sheetName As String
Dim yValues As Range
Dim XValues As Range
sheetName = "aName"
Set yValues = Range("A2:A4")
Set XValues = Range("B2:B4")
Dim myChtObj As ChartObject
Set myChtObj = ActiveSheet.ChartObjects.Add _
(Left:=100, Width:=800, Top:=75, Height:=400)
myChtObj.Chart.ChartType = xlColumnClustered
myChtObj.Activate
myChtObj.Name = "myChartName"
With myChtObj.Chart.SeriesCollection.NewSeries
.Name = sheetName
.Values = yValues
.XValues = XValues
End With
myChtObj.Chart.SeriesCollection.NewSeries
With myChtObj.Chart
.SeriesCollection(2).Name = "=""line"""
.SeriesCollection("line").XValues = XValues
.SeriesCollection("line").Values = yValues
.SeriesCollection("line").ChartType = xlLine
.Legend.Delete
.SetElement (msoElementChartTitleAboveChart)
.ChartTitle.Text = "My title" & Chr(13) & ""
End With
End Sub