标签和显示图表

时间:2015-11-11 22:31:40

标签: excel excel-vba charts vba

我想显示一个带有适当标签的柱形图,并将列放在正确的位置。

我有一年中每个月的工作表。第2行是该月的日期,即编号为1到31,(从列'B'到列'AF')。列'A'具有不同的产品,从第3行到第12行(编号为1到10)。整个月,生产数量被放入一天和产品中。例如,该月5日的产品#4将产品编号放在范围内(“F6”)。 31号产品#1将进入范围(“AF3”)。

我有以下代码在Userform1上生成柱形图。效果很好。

Private Sub CommandButton1_Click()

Dim chartData As Range
Dim oChrt As ChartObject

Application.ScreenUpdating = False

Set oChrt = ThisWorkbook.sheets("Oct").ChartObjects.Add _
            (Left:=24, Width:=768, Top:=66, Height:=402)
With oChrt.Chart
    .SetSourceData Source:=ThisWorkbook.sheets("Oct").Range("B6:AF6")
    .ChartType = xl3DColumn
End With

Dim imageName As String
imageName = Application.DefaultFilePath & Application.PathSeparator & "tempChart.gif"

oChrt.Chart.Export FileName:=imageName

ThisWorkbook.sheets("Oct").ChartObjects.Delete

Application.ScreenUpdating = True

UserForm1.Image1.Picture = LoadPicture(imageName)

End Sub

问题是x轴。 x轴标记为1,无论它需要什么,即如果列'E'(6),'J'(10)和'T'(20)(对于特定行)中的数据,图表将仅显示关于15列,在第1列放'E',在第5列放'J',在第15列放'T'。

我想要的是图表将第1列到第5列留空并在工作表中显示6中的“E”。如果这就是我能做到的一切都没关系。

但是,如果可以沿x轴创建另一行标签,我希望将月份的日期设置为低于月份的数量。日期(作为文本)位于工作表的第1行,数字位于第2行。

1 个答案:

答案 0 :(得分:0)

尝试在With - 阻止:

中使用此功能
With oChrt.Chart
    .SetSourceData Source:=ThisWorkbook.sheets("Oct").Range("B6:AF6")
    .FullSeriesCollection(1).XValues = Range("B2","AF2")
    .ChartType = xl3DColumn
End With
相关问题