作者:绿色风
分类:
时间:2022-08-17
浏览:113
楼主 amulee |
Q:当数据源发生变化时,如何使图表坐标轴最小值自动根据数据源调整? A:本例中,图表为由自定义名称设置的动态图表,当通过下拉框选择时,数据源会随之更改,且数据源中存在错误值。 当数据源变更时,如何根据数据源将图表的数值坐标的最小值自动调整为数据源中除错误值外最小值的0.8倍?
可以利用图表的Calculate事件来实现,当数据源发生变化时,该事件即启动。 在工作表中添加以下代码:- '创建变量
- Private WithEvents Cht As Chart
- '图表事件
- Private Sub Cht_Calculate()
- Dim Sr As Series
- Dim Arr(), MinV
- '设定图表系列
- Set Sr = Cht.SeriesCollection(1)
- '计算最小值
- On Error Resume Next
- Arr = Sr.Values
- MinV = Arr(1)
- For i = 2 To UBound(Arr)
- If Not IsEmpty(Arr(i)) Then
- If IsEmpty(MinV) Then MinV = Arr(i)
- If Arr(i) < MinV Then MinV = Arr(i)
- End If
- Next i
- '更改坐标
- Cht.Axes(xlValue).MinimumScale = MinV * 0.8
- End Sub
- Private Sub Worksheet_Activate()
- Set Cht = Me.ChartObjects(1).Chart
- End Sub
- Private Sub Worksheet_Deactivate()
- Set Cht = Nothing
- End Sub
自动更新坐标轴.rar |
2楼 MMonica605 |
高手~学习了 |
3楼 lzclzch |
谢谢版主发好帖 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一