Excel VBA – 调整颜色线和X轴间隔

我使用Excel VBA创build图表,我想调整线条颜色和x轴间隔。

以下是代码:

Sub add_cpu_chart(server_hostname, site) On Error Resume Next Dim rpt_site As String rpt_site = site Set tbl = ThisWorkbook.Sheets(server_hostname).ListObjects(1) strTableName = tbl.Name strTableRange = tbl.Range.Address Dim m_s_name, m_e_name As Date m_s_name = CDate(fromDateStr) m_e_name = CDate(toDateStr) 'Create new embedded chart Set shp = ThisWorkbook.Sheets(server_hostname).Shapes.AddChart 'Position Shape over range shp.Top = 100 shp.Left = 200 With shp With .Chart 'Specify source data and orientation '.SetSourceData Source:=ActiveSheets.Range(Table1 & "[#All]"), _ 'PlotBy:=xlRows .SetSourceData Source:=ThisWorkbook.Sheets(server_hostname).Range(strTableName & "[#All]") .ChartType = xlLineMarkers .SetElement (msoElementChartTitleAboveChart) .HasTitle = True .ChartTitle.Text = "CPU Utilization of " & server_hostname & " in " & _ rpt_site & " (" & Format(m_s_name, "dd-Mmm") & " to " & Format(m_e_name, "dd-Mmm yyyy") & ")" .ChartTitle.Font.Size = 14 '.ChartArea.Font.Size = 14 .Legend.Delete .SetElement (msoElementPrimaryValueAxisTitleRotated) .Axes(xlValue, xlPrimary).AxisTitle.Text = "CPU Utlization (%)" .Axes(xlValue, xlPrimary).AxisTitle.Font.Size = 10 .Axes(xlValue).MinimumScale = 0 .Axes(xlValue).MinorUnit = 2 .Axes(xlValue).MaximumScale = 100 .Axes(xlValue).MajorUnit = 20 .Axes(xlValue).TickLabels.NumberFormat = "General" .SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis) .Axes(xlCategory, xlPrimary).AxisTitle.Text = "Date of the Month" .Axes(xlCategory, xlPrimary).AxisTitle.Font.Size = 10 '.Axes(xlCategory).MajorUnit = 1 .Axes(xlCategory).TickLabels.NumberFormat = "d" With .PlotArea.Format.Fill .Visible = msoTrue .ForeColor.ObjectThemeColor = msoThemeColorBackground1 .ForeColor.TintAndShade = 0 .ForeColor.Brightness = -0.150000006 .Transparency = 0 .Solid End With End With End With End Sub 

我想改变线的颜色为红色 – 如在Excel 2003中 – 以及更改间隔2天的数据。 目前,数据的格式为1,2,3,4...我想以1,3 ,5...的forms显示数据。

在一个折线图中,X轴的最小刻度,最大刻度,主要单位和次要单位是毫无意义的。 X值只是即使标签显示数字也没有解释数值的类别。

您应该更改为XY图表,这将允许使用minimumscale,maximum scale,majorunit和minorunit完全控制轴标度。 当然,XY图表可以使用与折线图相同的系列标记和线条格式,但混淆的术语将永远存在。

如果由于某种原因,你决定坚持一个折线图,你可以使用ActiveChart.Axes(xlCategory).TickLabelSpacing = 2