VBAを使用してExcelで円グラフデータラベルを最適に配置する


0

データベースのデータから円グラフを作成するワークシートがあります。グラフは表示されているデータに基づいて変化するため、スライスのサイズは変わることがよくあります。

スライスが保証できるほど小さい場合は、スライスの外側のデータラベルを引出線で表示します。

私はそこにほとんどの方法を持っています、しかし問題はラベルがしばしばめちゃくちゃになって、そして互いに重なり合うか、彼らのスライスからあまりにも遠く離れて現れることになってしまうということです。これにより、チャートを更新するときに手動でラベルの位置を変更する必要があります。

これは、データを変更した後のチャートの例です。 「財産」と「償還」が重なっている一方で、「マクロ」と「金」があまりにも遠く離れすぎているため、余分なリーダーラインが表示されています。

enter image description here

これらの問題なしにラベルを再配置するのが得意なVBAスクリプトはありますか?スライスのサイズが大きすぎると、スライス内にラベルを配置しようとするため、組み込みのExcelの位置設定では不十分です。これにより、配色のためにラベルが判読できなくなります。


ラベルの位置合わせには、内蔵の[最適]オプションを使用してください。次に、くさびの内側にある各ラベルを選択し(1回クリックするとすべてのラベルが選択され、次にクリックすると1つだけ選択されます)、Outside Endオプションを使用します。
Jon Peltier

回答:


1

簡単に言うと、VBAを通じてラベルを操作することはできますが、絶えず変化する円グラフにラベルをきれいに配置するための効率的なアルゴリズムを作成するのは困難です。

私は円グラフに代わるものを提案します(それらは本当に素晴らしいグラフの代わりではありません、ここにあなたが興味を持っているならば見始めるための場所があります) デザートのパイを保存 )棒グラフは、データの表示方法と、問題の原因となっているラベリングの問題の処理方法の両方に対する代替手段です。これは、例で提供したデータのサンプルです。

Pie Alternative

ここでラベルの配置や位置についての心配はありません、投資家の名前はリーダーを必要とせずに常に対応するバーに隣接しています。パーセンテージは、対応するバーの内側に明確に表示され、相対的な長さはそれらの相対的なサイズに関する視覚的な手がかりを与えます。ソートは、(例のように)値を強調するために行うことができ、または同じチャートの異なるバージョン間で簡単に比較できるように静的(たとえばアルファベット順)に変更することもできる。


ありがとう、棒グラフの方が明確で管理しやすいことに同意します。私の問題は、私たちに設定されているどのガイドラインに準拠する必要があるかということですが、その点は明らかにします。そして、あなたはラベルを配置することの難しさについても正しいです。私は他の誰かが潜在的に同様の問題に遭遇してそれに対する解決策を開発したことを望んでいました。
harryg
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.