データを含むセルからのグラフの色

問題の定式化

ヒストグラムの列 (または円グラフのスライスなど) に、対応するセルをソース データで塗りつぶすために使用された色を自動的に適用したいと考えています。

個々の同志の驚きと憤慨の叫びを予想して、もちろん、図の塗りつぶしの色も手動で変更できることに注意する必要があります(列を右クリック– ポイント/シリーズ形式 (フォーマットデータポイント/シリーズ) など - 誰も主張しません。 しかし実際には、データを含むセルで直接これを行う方が簡単で便利な場合が多く、その後チャートを自動的に再描画する必要があります。 たとえば、このグラフの列に地域ごとの塗りつぶしを設定してみてください。

私はあなたがその考えを理解したと思いますよね?

ソリューション

これを行うことができるのはマクロだけです。 したがって、私たちは開きます Visual Basic エディター タブから 開発者 (開発者 — Visual Basic エディター) またはキーボードショートカットを押します Altキー+ F11、メニューから新しい空のモジュールを挿入します インサート – モジュール そのようなマクロのテキストをそこにコピーすると、すべての作業が行われます。

Sub SetChartColorsFromDataCells() If TypeName(Selection) <> "ChartArea" Then MsgBox "Сначала выделите диаграмму!" Exit Sub End If Set c = ActiveChart For j = 1 To c.SeriesCollection.Count f = c.SeriesCollection(j).Formula m = Split(f, ",") Set r = Range(m(2)) For i = 1 To r.Cells.Count c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _ r.Cells(i).Interior.Color Next i Next j End Sub  

Visual Basic を閉じて、Excel に戻ることができます。 作成したマクロの使い方はとても簡単です。 グラフを選択します (グラフ エリアであり、プロット エリア、グリッド、または列ではありません!):

ボタンでマクロを実行します マクロ タブ 開発者 (開発者 — マクロ) またはキーボードショートカットで Altキー+ F8. 同じウィンドウで、頻繁に使用する場合は、ボタンを使用してマクロにキーボード ショートカットを割り当てることができます。 計測パラメータ (オプション).

PS

軟膏の唯一の問題は、条件付き書式設定ルールを使用してソース データのセルに色が割り当てられている場合に、同様の関数を使用できないことです。 残念ながら、Visual Basic には、これらの色を読み取るための組み込みツールがありません。 もちろん、特定の「松葉杖」がありますが、すべてのケースで機能するわけではなく、すべてのバージョンで機能するわけではありません。

  • マクロとは、マクロの使用方法、Visual Basic でマクロ コードを挿入する場所
  • Excel 2007-2013 の条件付き書式
  • Excel 2013 のグラフの新機能

コメントを残す