5

チャート内のポイントが特定の値のパラメーター内にある場合(つまり、> 1が緑、<1が赤、その他が青)、色を変更しようとしています。VBAで特定のポイントの値を取得する方法を特定できません。

以前に回答されたこのスレッドでは、回答(他の方法で非常に役立ちます)は、points(num).valueがそのポイントの値を返すことを示しています。ただし、これを実行するとエラーメッセージが表示され、オンラインまたはVBAヘルプでこれに対応するメソッドを見つけることができません。他の誰かがこれで成功しましたか?

これが私に問題を与えるコードのスニペットです:

For Count = 1 To 7
    If Worksheets("Sheet1").ChartObjects("ChartName").Chart.SeriesCollection(1).Points(Count).Value > 1 Then
    '... do stuff

データがデータセットに保存される方法のため、グラフから直接値を取得する方が確実に優れています。データセット自体を使用して回避策を見つけることはできますが、それは避けたいと思います。

4

1 に答える 1

13
Sub Tester()

Dim cht As Chart, s As Series, p As Point
Dim vals, x As Integer

    Set cht = ActiveSheet.ChartObjects(1).Chart
    Set s = cht.SeriesCollection(1)

    vals = s.Values

    For x = LBound(vals) To UBound(vals)
      If vals(x) > 10 Then
        With s.Points(x)
            .MarkerBackgroundColor = RGB(255, 0, 0)
            .MarkerForegroundColor = RGB(255, 0, 0)
        End With
      End If
    Next x

End Sub
于 2013-02-27T21:52:26.770 に答える