格式化y轴标签的宽度

时间:2013-05-27 11:18:56

标签: excel vba charts axis-labels

我正在开发一个VBA Excel脚本,该脚本使用数据透视表创建一堆图表并将其复制到Word文档中,从而创建报表。 图表成对出现,粘贴后,y轴之间存在轻微的“距离”。 如果他们被延长,我希望让他们做一行。

我正在使用TickLables.Offset属性。它在两个图表中设置为相同的值,但这不起作用。

欢迎任何建议。

编辑:

问题的截图: Screenshot of issue

代码:

ActiveChart.Axes(xlValue).Select
Selection.TickLabels.AutoScaleFont = True
With Selection.TickLabels.Font
    .Name = "Arial"
    .FontStyle = "Normal"
    .Size = 10
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = xlAutomatic
    .Background = xlAutomatic
End With
With Selection.TickLabels
    .Offset = 500
End With

1 个答案:

答案 0 :(得分:0)

由于Offset是百分比,因此.Axes(xlValue).TickLabels.Offset很难确定。为了使事情保持一致,就我而言,在单个图表中,我得到了以下完美结果:

.Legend.Left = .PlotArea.Left + .PlotArea.Width - .PlotArea.InsideWidth

.Legend.Width = .PlotArea.InsideWidth

换句话说,当您只在左侧(或右侧)放置TickLable时,Ticklables的宽度就是内部和外部宽度之间的差。