1

次のようなデータを含むピボット テーブルがあります。

Chain     Store               Units
Bob's     BB Los Angeles        10
Bob's     BB San Diego          12
Tom's     TM Los Angeles        12
Tom's     TM San Francisco      18
Kate's    K Monterey            11

現在、すべての店舗とユニットを降順で表示する棒グラフがあるので、最初に TM サンフランシスコ、次に TM ロサンゼルス、BB サンディエゴ、次に K モントレーなどです。これがデータの表示方法です。

しかし、チェーンも色分けしたいので、ボブの店は赤いバー、トムの店は青、ケイトの店は緑です。

これを行うことは可能ですか?ピボット テーブルを設定するさまざまな方法を試しましたが、最終的には混乱してしまい、「チェーン」フィールドに基づいて各バーの色を設定する方法が見つかりません。

=

マクロ ソリューションをテストしていますが、マクロ以外のソリューションを持っている人がいれば、引き続き回答してください。:)

4

1 に答える 1

1

マクロ/VBA ベースのソリューションを探している場合、グラフのデータ ポイントの書式設定を簡単に操作できます。シリーズ XValues = Chain と仮定すると、次のようにすることができます。

Sub SetColors()
Dim cht As Chart
Dim srs As Series
Dim xVals As Variant
Dim p As Long

Set cht = ActiveSheet.ChartObjects(1).Chart '<-- Modify as needed'
Set srs = cht.SeriesCollection(1) '<-- Modify as needed'

xVals = srs.XValues  '<-- modify as needed, if your Chain is not part of series data you will need to build this array another way'

For p = 1 To UBound(xVals)
    Select Case xVals(p)
        Case "Bob's"
            srs.Points(p).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
        Case "Tom's"
            srs.Points(p).Format.Fill.ForeColor.RGB = RGB(0, 255, 0)
        Case "Kate's"
            srs.Points(p).Format.Fill.ForeColor.RGB = RGB(0, 0, 255)
    End Select
Next
End Sub

チェーンがシリーズ データの一部ではない場合、xVals設定方法を変更する必要がありますが、一般原則は引き続き適用されます。シリーズ内のポイントを繰り返し、参照リストと照合し、特定の色を適用します。参照項目に基づいています。

于 2013-04-15T12:08:58.160 に答える