簡體   English   中英

VBA 更新圖表的源數據

[英]VBA Update source data for chart

我正在使用 VBA 生成圖表。

使用以下代碼,我可以選擇從第11列到最后一列的數據,這些數據已存儲在LastColumnNumber變量中:

ActiveChart.SetSourceData Source:=Union(Sheets(SheetName).Range(Cells(1, 11), Cells(1, LastColumnNumber)), Sheets(SheetName).Range(Cells(4, 11), Cells(4, LastColumnNumber)))

因為我在圖表中實際需要顯示的數據前后有很多零值,所以我使用以下方法找出第一個和最后一個非零單元格的地址: https : //stackoverflow.com /a/42413582/2012740

如何更新第一段代碼以實現鏈接答案中的解決方案,並相應地縮小圖表的范圍?

我使用以下方法進行管理:

Dim StartPoint1, StartPoint2, EndPoint1, EndPoint2 As String

StartPoint1 = Application.Evaluate("=ADDRESS(1,MATCH(TRUE,4:4<>0,0))")
EndPoint1 = Application.Evaluate("=ADDRESS(1,MAX((4:4>0)*COLUMN(4:4)))")

StartPoint2 = Application.Evaluate("=ADDRESS(4,MATCH(TRUE,4:4<>0,0))")
EndPoint2 = Application.Evaluate("=ADDRESS(4,MAX((4:4>0)*COLUMN(4:4)))")

並且圖表源變成了:

ActiveChart.SetSourceData Source:=Union(Sheets(SheetName).Range(StartPoint1 & ":" & EndPoint1), Sheets(SheetName).Range(StartPoint2 & ":" & EndPoint2))

希望它可以幫助某人! 干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM