0

在早期版本的 Excel 中,您可以创建一个注册表项,以允许 Excel 使用 QFE_Bonn dword=1 显示将位于轴最小值/最大值之外的值/标签。这是我在 Excel 2003 中使用的:包含标签的绘图线消失了……

我无法在 Excel 2010 (Office Pro Plus) 中找到类似的补丁或本机功能。任何想法如何实现这一点,或者 MS 是否完全删除了此功能?

以下是 Excel 2003 中示例的屏幕截图。我创建了一系列数据,这些数据一致超过了 y 轴最大值。该系列的颜色填充已被移除

Excel 截图

要完成外观,请移除系列的边框,使其看起来不可见。然后用相关数据替换系列的值标签。

4

1 回答 1

1

有一个使用 DataLabels.Left 属性的解决方法,该属性相对于 ChartArea 定位 DataLabel。

这是一个示例 VB 解决方案:

sub FakeLabels()
Dim sF As Double
Dim lOff As Double
Dim p As Double

ActiveSheet.ChartObjects(1).Activate

With ActiveChart
    For sF = 1 To .SeriesCollection.Count
        If .SeriesCollection(sF).Name = "FakeSeries" Then
             'Define the lOff variable by adding 100, or some other value
             lOff = .SeriesCollection(sF).Points(1).DataLabel.Left + 100
             For p = 1 To .SeriesCollection(sF).Points.Count
                 .SeriesCollection(sF).Points(p).DataLabel.Left = lOff               
             Next p
        End If
    Next sF
End With

它产生相同的结果,唯一的新要求是将“虚拟”系列的值保持在图表的轴最小值/最大值内。

令人惊喜的是,重新调整图表大小似乎不会影响标签的相对位置。

2013 年 9 月 25 日更新

自从第一次问这个问题以来,我一直使用“文本框”方法。但是管理标签位置和文本框位置之间的相互作用、它们的相对位置PlotAreaie、何时使用.InsideWidthvs..Width.InsideLeftvs..Left以及是否需要对这些点进行任何类型的享乐“调整”是非常笨拙的价值观,似乎总是如此,它们从来都不是完全一致的。

在阅读 PPT 对象模型参考以进行其他一些与图表相关的查询时,我偶然发现了这个属性,它似乎复制了以前的修补程序/注册表黑客的功能。

.ShowDataLabelsOverMaximum

于 2012-06-21T18:12:48.217 回答