创build使用多个工作表中的数据的Excel图表

考虑以下情况:

  • 我有一张Excel工作簿,里面有4张。
  • 每张纸代表一年的四分之一。
  • 每张纸包含2列:
    • date
    • 收入

我现在想要为全年的每日收入创build折线图。
X轴应从1月1日(第一张第一列的第一行)开始,到12月31日(第四张的第一列的最后一行)结束。
应该有一条线绘制Y轴上当年的每日销售额。

我认为最简单的做法是将第五个工作表添加到工作簿中,以引用其他4个工作表中的单元格。 然后从第五张表格上的数据创build你的图表。

此外,我认为你会得到更好的结果与XY散点图,如果你使用折线图,X轴是预先定义的,但在你的情况下,你希望你的X轴是date。

这里有一个子程序让你开始自动添加图表

Sub zx() Dim wb As Workbook Dim sh As Worksheet Dim Chrt As Chart Dim Srs As Series Set wb = ActiveWorkbook Set Chrt = wb.Charts.Add(After:=wb.Worksheets(wb.Worksheets.Count)) Chrt.ChartType = xlXYScatterLines Chrt.SeriesCollection(1).Delete Chrt.Name = "Annual Trend" Set Srs = Chrt.SeriesCollection.NewSeries Srs.Name = "Q1" Set sh = wb.Sheets("Quarter1") Srs.XValues = "=" & sh.Name & "!" & sh.UsedRange.Columns(1).Address Srs.Values = "=" & sh.Name & "!" & sh.UsedRange.Columns(2).Address Set Srs = Chrt.SeriesCollection.NewSeries Srs.Name = "Q2" Set sh = wb.Sheets("Quarter2") Srs.XValues = "=" & sh.Name & "!" & sh.UsedRange.Columns(1).Address Srs.Values = "=" & sh.Name & "!" & sh.UsedRange.Columns(2).Address Set Srs = Chrt.SeriesCollection.NewSeries Srs.Name = "Q3" Set sh = wb.Sheets("Quarter3") Srs.XValues = "=" & sh.Name & "!" & sh.UsedRange.Columns(1).Address Srs.Values = "=" & sh.Name & "!" & sh.UsedRange.Columns(2).Address Set Srs = Chrt.SeriesCollection.NewSeries Srs.Name = "Q4" Set sh = wb.Sheets("Quarter4") Srs.XValues = "=" & sh.Name & "!" & sh.UsedRange.Columns(1).Address Srs.Values = "=" & sh.Name & "!" & sh.UsedRange.Columns(2).Address End Sub