我想显示一个带有适当标签的柱形图,并将列放在正确的位置。
我有一年中每个月的工作表。第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行。
答案 0 :(得分:0)
尝试在With
- 阻止:
With oChrt.Chart
.SetSourceData Source:=ThisWorkbook.sheets("Oct").Range("B6:AF6")
.FullSeriesCollection(1).XValues = Range("B2","AF2")
.ChartType = xl3DColumn
End With