如何在颠倒顺序后将x轴标签定位在x轴线下方

时间:2015-04-02 15:51:40

标签: excel excel-vba vba

Chart = xy Scatter

我有一个图表,我在其上设置了水平轴十字轴 - 轴值= 200.该图表如下所示:

enter image description here

现在我希望颠倒y轴标签的顺序。但是当我检查“相反顺序的值”时,x轴标签会跳过x轴线,如下所示:

enter image description here

我希望x轴标签与x轴线相似。我一直在尝试各种VBA代码和各种excel选项。如:

.TickLabels.Offset(这会使x轴标签偏离x轴更远,不接受负数)

我想在x轴标签上添加一个大的MarginTop值,但我无法弄清楚VBA代码,并且该选项在Excel中显示为灰色。

非常感谢任何可能的想法或解决方案。

1 个答案:

答案 0 :(得分:1)

如果您可以使用位于图表底部的x轴,则可以通过将TickLabelPosition更改为等于xlTickLabelPositionHigh来将标签返回到轴“下”。如果您还在“最大轴值”处穿过y轴,看起来效果会更好。这会将轴格式设置在底部(实际上是最大值)和标签。

您可以从普通菜单中获取所有这些设置。如果你需要VBA来做这个,这是一个起点:

Sub reverseAxisAndLabelAtBottom()

    Dim cht As Chart
    Dim x_axis As Axis
    Dim y_axis As Axis

    'using the ActiveChart... assumes it is selected

    Set cht = ActiveChart
    Set x_axis = cht.Axes(xlCategory)
    Set y_axis = cht.Axes(xlValue)

    y_axis.ReversePlotOrder = True
    x_axis.TickLabelPosition = xlTickLabelPositionHigh
    y_axis.Crosses = xlAxisCrossesMaximum


End Sub

我还尝试通过添加虚拟系列并在次轴上放置反转的y轴来实现此目的。这样可以使标签正确,但是y轴会被强制转到最右边。我不会称之为“理想”的做法。

带有一些随机数据的图片之前/之后。 before after