Excel 使用vba更新图表,向系列中添加年份
我正在尝试使用excel VBA更新图表类型4。 我可以刷新数据源区域,但我很难在一系列中显示年份字段。以1月、2月、3月、4月、5月、6月、7月、8月、9月、10月、11月、12月为水平数据 我的数据分为3列Excel 使用vba更新图表,向系列中添加年份,excel,vba,Excel,Vba,我正在尝试使用excel VBA更新图表类型4。 我可以刷新数据源区域,但我很难在一系列中显示年份字段。以1月、2月、3月、4月、5月、6月、7月、8月、9月、10月、11月、12月为水平数据 我的数据分为3列 Year Month Total 2018 Jan 0 2018 Feb 2067 2018 Mar 2507 2018 Apr 3319 2018 May 12536 2018 Jun 2108 2018 Jul 1060 2018
Year Month Total
2018 Jan 0
2018 Feb 2067
2018 Mar 2507
2018 Apr 3319
2018 May 12536
2018 Jun 2108
2018 Jul 1060
2018 Aug 2440
2018 Sep 1423
2018 Oct 939
2018 Nov 2443
2018 Dec 891
2019 Jan 1678
2019 Feb 1715
2019 Mar 1426
2019 Apr 3271
2019 May 1267
2019 Jun 1188
2019 Jul 3603
2019 Aug 1664
每月更新一次。我希望能够有一个水平轴上的一月到十二月的图表。还有没有办法在这个系列中再增加一年,如果我们到2020年,还有一年需要增加。
目前,我的代码显示为2018年1月、2018年2月等,然后是2019年1月、2019年2月等,该系列具有系列1和系列年。不是2018年和2019年
我在K列手动输入了2018年和2019年,看看我的代码是否适用于该系列
Option Explicit
Sub UpdateChart()
Dim i As Integer
Dim lw As Long
Dim lrow, daterow As Long
lrow = Sheet8.Cells(Rows.Count, 1).End(xlUp).Row
daterow = Sheet8.Cells(Rows.Count, 11).End(xlUp).Row
Sheet8.ChartObjects("Chart1").Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData Sheet8.Range("A2:C" & lrow)
With ActiveChart.SeriesCollection.NewSeries
.Name = "Year"
.Values = Sheet8.Range("K5:K" & daterow).Value2
End With
ActiveChart.Refresh
End Sub
创建一个“助手”列,并将月份和年份合并到Excel可识别的日期字段中。诸如
=DATEVALUE(B2&“”&A2)
之类的公式可以工作(请确保包含公式的单元格的格式设置为显示日期!)。然后使用新的日期列作为图表中的轴。我将如何调整VBA代码以使用此方法?我不清楚您的图表是什么样子,以及您到底想要实现什么。您想要一个显示X轴上12个月的折线图,以及每年数据的不同系列吗?您是使用VBA创建图表还是手动创建图表?创建“帮助器”列,并将月份和年份合并到Excel可识别的日期字段中。诸如=DATEVALUE(B2&“”&A2)
之类的公式可以工作(请确保包含公式的单元格的格式设置为显示日期!)。然后使用新的日期列作为图表中的轴。我将如何调整VBA代码以使用此方法?我不清楚您的图表是什么样子,以及您到底想要实现什么。您想要一个显示X轴上12个月的折线图,以及每年数据的不同系列吗?您是使用VBA创建图表还是手动创建图表?