【问题标题】:How do I make sure chart axis tick labels are horizontal and correctly spaced?如何确保图表轴刻度标签水平且间距正确?
【发布时间】:2017-07-18 08:13:16
【问题描述】:

我正在使用 VBA 从不同的数据范围创建图表。我希望设置 x 轴主要单位,使刻度标签自动水平。但是,使用自动主要单位和方向/旋转,标签有时会旋转,有时会水平。如果我将方向设置为 0,我会得到水平标签,但它们并不总是适合我的图表区域。所以在创建新图表后我需要做的是:

  1. 检查自动方向是否已创建水平刻度标签
  2. 如果是,什么也不做。如果没有,则将主要单位增加一级
  3. 从 1 开始重复。

问题是我不知道如何检查自动方向是否已设置为水平。如果我检查的值

ChartObjects(1).Chart.Axes(xlCategory).TickLabels.Orientation

我得到-4105,这是自动设置的值(参考https://msdn.microsoft.com/en-us/vba/excel-vba/articles/xlticklabelorientation-enumeration-excel),与实际旋转值无关。

是否有任何方法可以检查刻度标签的实际旋转,即使它是自动设置的?或者有没有其他方法可以解决这个问题?我在想也许有一种方法可以将方向设置为 0 并强制更改主要单位以使标签适合图表区域?

【问题讨论】:

  • cht.Axes(xlCategory).TickLabels.Orientation = 30
  • @Dy.Lee 当然,但这并不能解决我的问题,对吧?它只将标签设置为 30 度旋转。

标签: vba excel charts axis-labels


【解决方案1】:

通过使图表比 ChartArea 小一点解决了这个问题 - 这样标签在设置为水平时总是适合。

设置为自动时检查实际方向的问题仍未解决...

【讨论】:

    猜你喜欢
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 2017-09-23
    相关资源
    最近更新 更多