Microsoft Excel - 一次创建多个单独的图表

Microsoft Excel - 一次创建多个单独的图表

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

相关内容