gpt4 book ai didi

excel - 包含偏移量的 VBA 命名范围在图表中是固定的

转载 作者:行者123 更新时间:2023-12-04 21:51:27 25 4
gpt4 key购买 nike

我有一个动态表,其中 Y 列中的值:

我创建 series1在名称管理器中使用公式=OFFSET('Sheet1'!$Y$16,0,0,COUNTA('Sheet1'!$Y$16:$Y$5012),1)
我想通过 VBA 中的图表来绘制它,所以我这样做了
cht.Chart.SetSourceData Source:="=series1"
但我在图表中得到的是"='Sheet1'!$Y$16:$Y$43"因为数据在第 43 行停止

代替
='static bbg data'!series1
所以稍后如果我在 Y 列的表格中添加行,这些将不会在图表上更新,而我要创建图表并添加 ='static bbg data'!series1手动。

你能帮我解决这个问题吗?

感谢您的帮助

最佳答案

添加更新程序

将更新过程放入模块中

Sub UpdateChartSourceData()
With Worksheets("SheetWithChart")
cht.Chart.SetSourceData Source:=.Range("series1")
End With
End Sub

并将其与图表数据一起放入您的工作表中
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("series1")) Is Nothing Then
cht.Chart.SetSourceData Source:=Me.Range("series1")
End If
End Sub

每次数据更改时更新图表。

您可能需要定义/调整 cht在上面的代码中。

或使用格式化表格

一种更简单的方法是对源数据使用格式化表。并使用该完整表格作为来源制作图表。这样,如果表格添加了行或列,图表会自动更新。

关于excel - 包含偏移量的 VBA 命名范围在图表中是固定的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53302971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com