Excel 每张纸上都有一张新的图表
我正试图根据我已有的一些信息,在每张图纸上添加一个新的图表。然而,我最后只有一张纸,上面有最后一条信息的图表。我认为图表正在覆盖它们自己 这是密码Excel 每张纸上都有一张新的图表,excel,vba,Excel,Vba,我正试图根据我已有的一些信息,在每张图纸上添加一个新的图表。然而,我最后只有一张纸,上面有最后一条信息的图表。我认为图表正在覆盖它们自己 这是密码 Dim chart1 As chart Set chart1 = Charts.Add For i = 0 To 9 chart1.Add.SetSourceData Source:=Destino.Range("A24").Offset(0, 3 * i).CurrentRegion, PlotBy:=xlRows chart1
Dim chart1 As chart
Set chart1 = Charts.Add
For i = 0 To 9
chart1.Add.SetSourceData Source:=Destino.Range("A24").Offset(0, 3 * i).CurrentRegion, PlotBy:=xlRows
chart1.ChartType = xlBarClustered
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="gráfico" & i + 1
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Cuenta por categoría de" & origen.[c4].Offset(i, 0)
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Categoría"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Frecuencia"
End With
ActiveSheet.Move After:=Sheets(ActiveWorkbook.Sheets.Count)
Next
在您的示例中,在循环之外声明并设置图表对象。因此,在循环的每次迭代中,它都是相同的图表实例,并且它实际上被重写了,或者更准确地说,被更新了 尝试将它们移动到循环中,并将Charts对象声明为新对象。现在,每次递增,它都会生成一个新的图表实例。否则,一切看起来都很好
For i = 0 To 9
Dim chart1 As New Chart
Set chart1 = Charts.Add
chart1.Add.SetSourceData Source:=Destino.Range("A24").Offset(0, 3 * i).CurrentRegion, PlotBy:=xlRows
chart1.ChartType = xlBarClustered
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="gráfico" & i + 1
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Cuenta por categoría de" & origen.[c4].Offset(i, 0)
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Categoría"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Frecuencia"
End With
ActiveSheet.Move After:=Sheets(ActiveWorkbook.Sheets.Count)
Next