0

以前のバージョンのExcelには、QFE_Bonn dword=1を使用して軸の最小/最大の外側に配置される値/ラベルをExcelが表示できるようにするために作成できるレジストリエントリがありました。これは私がExcel2003で使用したものです:ラベルを含むプロット線が消えます...

Excel 2010(Office Pro Plus)で同様のパッチまたはネイティブ機能を見つけることができませんでした。これをどのように達成できるか、またはMSはこの機能を完全に削除しましたか?

これがExcel2003の例のスクリーンショットです。y軸の最大値を均一に超える一連のデータを作成します。このシリーズの塗りつぶしはすでに削除されています

Excelのスクリーンショット

外観を完成させるには、シリーズの境界線を削除して、見えないようにします。次に、シリーズの値ラベルを関連データに置き換えます。

4

1 に答える 1

1

ChartAreaを基準にしてDataLabelを配置するDataLabels.Leftプロパティを使用する回避策があります。

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つまり、vs。またはvs.をいつ使用する.InsideWidth.Width.InsideLeftポイント.Leftに何らかの快楽的な「調整」が必要かどうかの相対的な位置を管理するのは非常に不格好です。常にそうであるように、値は完全に一致することはありません。

他のチャート関連の問い合わせのためにPPTオブジェクトモデルリファレンスを熟読しているときに、以前の修正プログラム/レジストリハックの機能を複製しているように見えるこのプロパティに出くわしました。

.ShowDataLabelsOverMaximum

于 2012-06-21T18:12:48.217 に答える