如何确保图表轴刻度标签水平且间距正确?

时间:2017-07-18 08:13:17

标签: excel vba excel-vba charts axis-labels

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

  1. 检查自动方向是否已创建水平刻度标签
  2. 如果是的话,什么也不做。如果没有,请逐步增加主要单位
  3. 从1开始重复。
  4. 问题是我不知道如何检查自动方向是否已设置为水平。如果我检查

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

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

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

1 个答案:

答案 0 :(得分:0)

通过使图表比ChartArea稍微小一点来解决这个问题 - 这样当标签设置为水平时标签将始终适合。

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