【发布时间】:2017-07-18 08:13:16
【问题描述】:
我正在使用 VBA 从不同的数据范围创建图表。我希望设置 x 轴主要单位,使刻度标签自动水平。但是,使用自动主要单位和方向/旋转,标签有时会旋转,有时会水平。如果我将方向设置为 0,我会得到水平标签,但它们并不总是适合我的图表区域。所以在创建新图表后我需要做的是:
- 检查自动方向是否已创建水平刻度标签
- 如果是,什么也不做。如果没有,则将主要单位增加一级
- 从 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