VBA 更新图表的源数据
VBA Update source data for chart
我正在使用 VBA 生成图表。
使用以下代码,我可以 select 从第 11
列到最后一列的数据,我已将其存储在 LastColumnNumber
变量中:
ActiveChart.SetSourceData Source:=Union(Sheets(SheetName).Range(Cells(1, 11), Cells(1, LastColumnNumber)), Sheets(SheetName).Range(Cells(4, 11), Cells(4, LastColumnNumber)))
因为我在图表中实际需要显示的数据前后有很多零值,所以我使用以下方法找出第一个和最后一个非零单元格的地址:
如何更新第一段代码以实现链接答案中的解决方案,并相应地缩小图表的范围?
我已经通过以下方法进行管理:
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))
希望对大家有所帮助!干杯!
我正在使用 VBA 生成图表。
使用以下代码,我可以 select 从第 11
列到最后一列的数据,我已将其存储在 LastColumnNumber
变量中:
ActiveChart.SetSourceData Source:=Union(Sheets(SheetName).Range(Cells(1, 11), Cells(1, LastColumnNumber)), Sheets(SheetName).Range(Cells(4, 11), Cells(4, LastColumnNumber)))
因为我在图表中实际需要显示的数据前后有很多零值,所以我使用以下方法找出第一个和最后一个非零单元格的地址:
如何更新第一段代码以实现链接答案中的解决方案,并相应地缩小图表的范围?
我已经通过以下方法进行管理:
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))
希望对大家有所帮助!干杯!