Excel 如何扩展包含在带有宏的图形中的范围
我在A列中有一些数据,我正试图编写一个宏来将数据范围扩展到下一列-B列,这样每次我在下面的列中添加数据时,宏都会扩展边框以将该数据包括在图表中 请参见下图,其中我的图表中仅包含A列- 我需要做什么才能让它也包含下一列-B列 例如: 你觉得怎么样?这对我很有用:Excel 如何扩展包含在带有宏的图形中的范围,excel,vba,graph,Excel,Vba,Graph,我在A列中有一些数据,我正试图编写一个宏来将数据范围扩展到下一列-B列,这样每次我在下面的列中添加数据时,宏都会扩展边框以将该数据包括在图表中 请参见下图,其中我的图表中仅包含A列- 我需要做什么才能让它也包含下一列-B列 例如: 你觉得怎么样?这对我很有用: Sub ExpandChartSource() Dim ObjChart As Object Dim RngSource As Range Set ObjChart = ActiveShee
Sub ExpandChartSource()
Dim ObjChart As Object
Dim RngSource As Range
Set ObjChart = ActiveSheet.ChartObjects(1)
Set RngSource = Range(Split(ObjChart.Chart.SeriesCollection(1).Formula, ",")(2))
Set RngSource = RngSource.Resize(RngSource.Rows.Count, RngSource.Columns.Count + 1)
ObjChart.Chart.SetSourceData Source:=RngSource
End Sub
这是一个更具动态性的版本,如果您想无限期地放大数据,该版本非常有用:
Sub ExpandChartSource()
Dim ObjChart As Object
Dim RngSource As Range
Dim IntSeries As Integer
Dim StrAddress As String
Set ObjChart = ActiveSheet.ChartObjects(1)
Set RngSource = Range(Split(ObjChart.Chart.SeriesCollection(1).Formula, ",")(2))
StrAddress = RngSource.Cells(1, 1).Address
Set RngSource = Range(Split(ObjChart.Chart.SeriesCollection(ObjChart.Chart.SeriesCollection.Count).Formula, ",")(2))
StrAddress = StrAddress & ":" & RngSource.Cells(RngSource.Rows.Count, 1).Address
Set RngSource = Range(StrAddress)
Set RngSource = RngSource.Resize(RngSource.Rows.Count, RngSource.Columns.Count + 1)
ObjChart.Chart.SetSourceData Source:=RngSource
End Sub
它假设第一个系列最左边,而最后一个系列最右边。尝试将数据放入表格(插入>表格),看看这是否解决了问题。如何手动、通过VBA或公式填充列中的值?这太棒了,谢谢,这正是我想要的。