如何使图表填充特定范围?不久前我发现了如何使用 VBA 来做到这一点,但我终生无法找到如何再次做到这一点。我想要一个图表来填充一个特定的范围,比如 F1 到 K8。这样,如果左侧的其他列由于用户输入而发生变化,则图形仍保持在该范围内,从而使一切看起来都不错。
我的第二个问题是,如何使用 VBA 更改 excel 图表上标记的大小?我正在绘制数千个数据点,默认标记是巨大的菱形,所以图表看起来很荒谬。这条线就是这么粗的东西。
还有一个额外的奖励问题!我正在使用 VBA 制作整个图表。我正在制作两个系列。但是,当插入这两个系列时,它会添加第三个系列,其中没有数据点。如果它没有出现在传说中,那也不会令人讨厌。如何删除系列?
谢谢!这是相关的代码。Counter 和 NewTracker 是基于用户输入的变量。对于我正在使用的数据,我相信 Counter = 13 和 NewTracker = 1202,但根据我的问题,我认为这并不重要!如果您想使用示例,只需用更好的东西替换范围即可。:)
Sub Makingthechart()
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "=Sheet1!$B$1"
ActiveChart.SeriesCollection(1).XValues = "=Sheet1!$A$2:$A$" & Counter + 1
ActiveChart.SeriesCollection(1).Values = "=Sheet1!$B$2:$B$" & Counter + 1
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "CFL Calculated"
ActiveChart.SeriesCollection(2).XValues = "=Sheet1!$XFB$1:$XFB$" & NewTracker
ActiveChart.SeriesCollection(2).Values = "=Sheet1!$XFC$1:$XFC$" & NewTracker
With ActiveWorkbook.ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "CFL Over Time"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time (Days)"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "CFL"
.Axes(xlCategory).HasMajorGridlines = True
.Axes(xlCategory).HasMinorGridlines = True
End With
End Sub
我非常感谢您的所有帮助!到目前为止,你们是我在实习中取得相当成功的原因!我不敢相信你们知道我什至无法通过 Google 找到的所有关于 VBA 的小知识。