2016-07-07 8 views
0

各メトリックで各IDのパフォーマンスを表示するが、他の関連メトリックで上位のパフォーマーに属する列を強調表示する一連の列グラフを作成します。私は関連メトリックのデータを持っていません。トップパフォーマーであるIDのリスト(Excel内の同じシート上のリスト)のみです。VBAを使用して配列内のID値に基づいてバーの色を変更する

条件付き書式設定では、トップパフォーマーのリストに含まれているIDを強調表示するのは簡単ですが、手動でクリックすることなく列のチャートのIDの列の色を変更することもできます。

このコード(this貴重なスレッド)は、私が探しているものを実行できるはずですが、if条件内で配列を配置する方法や適用する方法を理解するには、ワークシート/ワークブック内のすべてのチャートに適用されます。

Dim c As Chart 
Dim s As Series 
Dim iPoint As Long 
Dim nPoint As Long 

Set c = ActiveChart 
Set s = c.SeriesCollection(1) 

nPoint = s.Points.Count 
For iPoint = 1 To nPoint 
    If s.XValues(iPoint) = "avg" Then 
     s.Points(iPoint).Interior.Color = RGB(255, 0, 0) 
    End If 
Next iPoint 

私はのStata/SASプログラマーやVBAと過度に慣れていないんだけど、私がしようとして抱えているよう

local list=R26C2:R26C12 

foreach worksheet in (all worksheets) {  
    foreach bar in (all_graphs of &worksheet) { 
     color &bar=blue if id in(&list) 
    } 
} 

のようなものが私のように多くの問題を与えるべきではないことを確信していますVBAでこれを行います。どんな助けもありがとう。ありがとう!

答えて

1

このような何か(未テスト)動作するはず

Dim rngTP As Range 
Set rngTP = Range("A1:A10") 'for example 

nPoint = s.Points.Count 
For iPoint = 1 To nPoint 
    If Not IsError(Application.Match(s.XValues(iPoint), rngTP, 0)) Then 
     s.Points(iPoint).Interior.Color = RGB(255, 0, 0) 
    End If 
Next iPoint 
+0

これは素晴らしい作品!本当にありがとう。 – Rob

関連する問題