excel - 使用 vba 选择数据时图表不显示数据
问题描述
我正在使用 VBA 来更新我的图表。使用 VBA,我选择应该在图表中显示的数据。我的代码确实选择了数据,但不知何故我的图表没有显示任何内容。当我点击我的图表结束时选择“选择数据”它确实显示了选定的数据,但不知何故我的图表仍然是空的。因为我的图表是空的,所以我的其余代码不起作用
我的图表是一个组合图表,其中两个数据范围都是条形,主轴上是绝对值,次轴上是相对值。
Dim DataSite As Range
Dim DataAbsolute As Range
Dim DataRelative As Range
Set DataSite = Range(Cells(7, 1), Cells(7, 1).End(xlDown))
Set DataAbsolute = Range(Cells(7, 4), Cells(7, 4).End(xlDown))
Set DataRelative = Range(Cells(7, 5), Cells(7, 5).End(xlDown))
GraphsFrames.Select
For Each serie In cht.Chart.SeriesCollection
serie.Select
serie.Delete
Next serie
With cht.Chart
With .SeriesCollection.NewSeries
.XValues = DataSite
.Values = DataAbsolute
.Name = "Absolute"
.AxisGroup = 1
End With
With .SeriesCollection.NewSeries
.Values = DataRelative
.Name = "Relative"
.AxisGroup = 2
End With
.ChartGroups(1).GapWidth = 50
.ChartGroups(2).GapWidth = 300
.Refresh
End With
我可以做些什么来确保我的图表显示所选数据?
解决方案
好吧,我不知道 GraphFrames 是什么,所以我忽略了它。我只对您的代码进行了细微的调整,如下所示,它工作得很好。我假设数据在活动工作表上,您要向其中添加数据的图表对象也是如此。
Sub DoChartData()
Dim DataSite As Range
Dim DataAbsolute As Range
Dim DataRelative As Range
With ActiveSheet
Set DataSite = .Range(.Cells(7, 1), .Cells(7, 1).End(xlDown))
Set DataAbsolute = .Range(.Cells(7, 4), .Cells(7, 4).End(xlDown))
Set DataRelative = .Range(.Cells(7, 5), .Cells(7, 5).End(xlDown))
End With
Dim cht As ChartObject
Set cht = ActiveSheet.ChartObjects(1)
Dim serie As Series
For Each serie In cht.Chart.SeriesCollection
serie.Delete
Next serie
With cht.Chart
With .SeriesCollection.NewSeries
.XValues = DataSite
.Values = DataAbsolute
.Name = "Absolute"
.AxisGroup = 1
End With
With .SeriesCollection.NewSeries
.Values = DataRelative
.Name = "Relative"
.AxisGroup = 2
End With
.ChartGroups(1).GapWidth = 50
.ChartGroups(2).GapWidth = 300
End With
End Sub
推荐阅读
- vue.js - vue中如何使用脚本
- python - 用户选择选项后,有什么方法可以将其链接回菜单
- reactjs - 使用@testing-library/user-event 进行测试以选择多个选项不会在“onChange”回调中发送正确的值?
- ignite - 工作窃取配置在 Apache Ignite 中不起作用
- machine-learning - 困惑的学生 ft. 机器学习
- node.js - Node Js jest 测试用例
- javascript - this.state.names.map 不是函数
- javascript - 易受攻击的 JavaScript 库 jquery-1.7.1.js
- laravel - Laravel 懒惰收集海量数据
- python - 为什么即使它不为空,我也会收到“ValueError:NaTType 不支持 strftime”?