Excel 2016。假设我有一列,其中大约有 1000 个值对应于水平轴,而垂直轴有 25 个单独的列。我正在寻找一种方法来自动创建 25 个具有相同布局和格式的独立图表,而无需手动指定每个图表的数据系列。
我知道我可以用所有数据创建一个图表,那么有没有办法将其分成 25 个独立的图表?
任何帮助,将不胜感激。
答案1
我假设您的 X 值位于范围的第 1 列,而 Y 值位于第 2 列至第 26 列。我还假设每列的第一行包含将用于系列名称的文本。
为了使数据范围的定义更容易,我假设它从单元格 A1 开始。我没有包括任何格式,甚至图表类型,因为没有指定。但是,您可以通过在手动制作图表时录制宏,然后将录制的宏的片段复制到此图表中来获得很多。
Sub MakeOneChartForEachColumn()
Dim DataRange As Range
Set DataRange = ActiveSheet.Range("A1").CurrentRegion
'' change definition of data range as needed
Dim XValues As Range
Set XValues = DataRange.Columns(1).Offset(1).Resize(DataRange.Rows.Count - 1)
Dim iChart As Long
For iChart = 1 To DataRange.Columns.Count - 1
Dim MyChart As Chart
Set MyChart = ActiveSheet.Shapes.AddChart2.Chart
With MyChart.Parent
.Left = 15 * iChart
.Top = 15 * iChart
End With
MyChart.ChartArea.ClearContents
With MyChart.SeriesCollection.NewSeries
Dim YValues As Range
Set YValues = XValues.Offset(0, iChart)
.Values = YValues
.XValues = XValues
Dim NameCell As Range
Set NameCell = DataRange.Cells(1, 1).Offset(0, iChart)
.Name = "=" & NameCell.Address(, , , True)
End With
'' formatting etc. goes here
Next
End Sub