我使用VBA创建了一个宏并创建了月份图表。请参阅下面的代码
Private Sub CommandButton1_Click()
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("'Chart'!$A$1:$L$2")
ActiveChart.ChartType = xlLineStacked
Dim cht As Chart
Dim ser As Series
Set cht = ActiveChart
Set ser = cht.SeriesCollection(1)
cht.Parent.Width = 227
cht.Parent.Height = 200
ser.Format.Line.Visible = msoFalse
ser.Format.Line.Visible = msoTrue
ser.Format.Line.ForeColor.RGB = RGB(26, 46, 74)
ser.Format.Fill.ForeColor.RGB = RGB(26, 46, 74)
With Worksheets("Chart").ChartObjects(1).Chart
.HasTitle = True
.ChartTitle.Text = Sheets("Chart").Range("B10")
.ChartTitle.Font.Size = 12
.ChartTitle.Font.Color = RGB(26, 46, 74)
End With
With cht.PlotArea.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(239, 239, 239)
.Transparency = 0
.Solid
End With
With cht.ChartArea.Fill
.Visible = True
.ForeColor.SchemeColor = 15
.BackColor.SchemeColor = 15
.TwoColorGradient Style:=msoGradientHorizontal, Variant:=1
End With
Dim co As ChartObject
For Each co In ActiveSheet.ChartObjects
co.Chart.ChartArea.Format.Fill.Visible = msoFalse
co.Chart.PlotArea.Format.Fill.Visible = msoFalse
Next
Dim Srs As Series
Set Srs = ActiveChart.SeriesCollection(1)
Srs.Name = ""
Dim ChartObj As Object
For Each ChartObj In Sheets("Chart").ChartObjects
ChartObj.Chart.Location xlLocationAsObject, "Factsheet"
With ActiveSheet
.ChartObjects(1).Top = .Range("D8").Top
.ChartObjects(1).Left = .Range("D8").Left
End With
Next ChartObj
End Sub
我如何创建带有四分之一数据的图表,显示月份,它将显示Q1,Q2,Q3,Q4。
是否可以使用VBA创建?
提前致谢。
答案 0 :(得分:0)
将数据汇总到四分之一的最佳方法是插入数据透视表并使用" group"通过右键单击任何日期值来进行功能。
修改1 回应@Anahit DEV评论。没有源代码就很难编写任何代码。但是,下一个宏将帮助您实现目标。请注意,我为您写了一些评论,您必须在必要时替换这些值。
$_SESSION