在以前版本的Excel中,您可以创建一个注册表项,以允许Excel使用QFE_Bonn dword = 1显示位于轴min / max之外的值/标签。这就是我用于Excel 2003的内容:Plot lines that contain labels disappear ...)
我无法在Excel 2010(Office Pro Plus)中找到类似的修补程序或本机功能。任何想法如何实现,或MS完全删除此功能?
以下是Excel 2003中示例的屏幕截图。我创建了一系列数据,这些数据均匀地超过了y轴的最大值。此系列的颜色填充已被删除
要完成外观,请删除系列的边框,使其看起来不可见。然后用相关数据替换系列的值标签。
答案 0 :(得分:1)
使用DataLabels.Left属性可以解决此问题,该属性将DataLabel相对于ChartArea进行定位。
这是一个示例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日
自从第一次提出这个问题以来,我一直使用“文本框”方法。但是管理标签的位置和文本框位置之间的相互作用,PlotArea
的相对位置,即何时使用.InsideWidth
与.Width
或{{1}非常笨拙}}与.InsideLeft
以及是否需要对点值进行任何形式的“调整”,就像往常一样,它们永远不会完全一致。
在仔细阅读其他一些与图表相关的查询的PPT对象模型参考时,我stumbled upon this property似乎复制了以前的修补程序/注册表黑客的功能。
.Left