Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 在图表中以x轴表示月份_Vba_Excel_Excel Charts - Fatal编程技术网

Vba 在图表中以x轴表示月份

Vba 在图表中以x轴表示月份,vba,excel,excel-charts,Vba,Excel,Excel Charts,我有一张“结果”表,其中有一个表显示某些数据 在表中,我有一列从1到53的周数 并不是所有的星期都有结果。有几个星期没有结果 我正试图从这个表中生成一个列堆叠图 当我提取时,我可以看到图表中的细节重叠,缺乏可视化 我想问一下,是否有办法将图表X轴的周数转换为月份 有人能告诉我怎么做吗 这是我用于图表的代码 Sub chartstatus() Dim rng, rng1, rng2 As Range Dim cht As Object Set rng1 = ActiveSheet.Range("A

我有一张“结果”表,其中有一个表显示某些数据

在表中,我有一列从1到53的周数

并不是所有的星期都有结果。有几个星期没有结果

我正试图从这个表中生成一个列堆叠图

当我提取时,我可以看到图表中的细节重叠,缺乏可视化

我想问一下,是否有办法将图表X轴的周数转换为月份

有人能告诉我怎么做吗

这是我用于图表的代码

Sub chartstatus()
Dim rng, rng1, rng2 As Range
Dim cht As Object
Set rng1 = ActiveSheet.Range("A2:A53")
Set rng2 = ActiveSheet.Range("G2:J53")
Set rng = Union(rng1, rng2)
ThisWorkbook.Sheets("Result").ChartObjects.delete
Set sh = ActiveSheet.ChartObjects.Add(Left:=750, _
    Width:=1100, _
    Top:=80, _
    Height:=350)

sh.Select

Set cht = ActiveChart
With cht
.SetSourceData Source:=rng
.ChartType = xlColumnStacked
cht.Axes(xlSecondary).TickLabels.NumberFormat = "0.0%"
cht.SeriesCollection(1).delete
End With
cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
cht.SeriesCollection(2).Format.Fill.ForeColor.RGB = RGB(0, 255, 0)
cht.HasTitle = True
cht.ChartTitle.Text = "Result 2017(Percentage)"
End Sub

我想要的不是下面显示的数字,而是相应的月份名称。有人能帮我做到这一点吗

使用辅助列

在我的示例中,A列有周数,B列有年数。在C列中,我使用了以下公式:

=DATE(B1,1,-2)-WEEKDAY(DATE(B1,1,3))+A1*7
然后,不要在图表中使用周数列,而是使用计算列。然后使用自定义格式“mmmm”设置图表轴的格式这将为您提供所需的内容

使用辅助列

在我的示例中,A列有周数,B列有年数。在C列中,我使用了以下公式:

=DATE(B1,1,-2)-WEEKDAY(DATE(B1,1,3))+A1*7

然后,不要在图表中使用周数列,而是使用计算列。然后使用自定义格式“mmmm”设置图表轴的格式这将为您提供所需的内容

如果您的周数位于
列a
,请使用
列B
作为辅助列,并输入以下公式

=TEXT(42729+(A1*7),"mmm-yy")


您可以将此范围用于图表轴。希望这有帮助。

如果您的周数在
列A
中,请使用
列B
作为帮助列,并输入以下公式

=TEXT(42729+(A1*7),"mmm-yy")


您可以将此范围用于图表轴。希望这能有所帮助。

@有人能帮忙吗?@有人能帮忙吗?我也是这么做的。现在。。如果你能看到的话。我有4次时间1月3日2月。。这些都会再次显示在我的图表中。。如果有一种方法,图表可以分别得到一月和其他月份的累积结果???@Jenny使用
sumif
,以月份为单位criteria@Jenny在helper列中不清楚,即使我在helper列中有一次jan,我将为每个列提供4或5个值then@Jenny您需要在helper列中添加每个月的所有值,我也是这样做的。现在。。如果你能看到的话。我有4次时间1月3日2月。。这些都会再次显示在我的图表中。。如果有一种方法,图表可以分别得到一月和其他月份的累积结果???@Jenny使用
sumif
,以月份为单位criteria@Jenny在helper列中不清楚,即使我在helper列中有一次jan,我将为每个列提供4或5个值then@Jenny您需要在助手列中添加每个月的所有值