excel - 在 Excel VBA 中确定一个点的值

标签 excel vba charts

我试图让图表中的点在某些值参数内改变颜色(即,>1 是绿色,<1 是红色,其他都是蓝色)。我无法确定如何让 VBA 给我任何给定点的值。

this thread ,之前回答过,答案(在其他方面非常有帮助)表明 points(num).value 将返回该点的值。但是,这样做时我收到一条错误消息,在网上或 VBA 帮助中找不到与此相对应的方法。有没有其他人在这方面取得过任何成功?

这是给我带来麻烦的代码片段:

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

由于数据存储在数据集中的方式,直接从图表中获取值肯定会更好。我可以使用数据集本身找出解决方法,但我宁愿避免这种情况。

最佳答案

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

关于excel - 在 Excel VBA 中确定一个点的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15122329/

相关文章:

Excel VBA - 使用工作簿 B 中的模块更新工作簿 A 中的数据

PHP:关于甘特图的建议

c# - 使用图表显示我在 WPF 上每秒更新的数据

excel - 从 Excel 文件中删除所有 VBA 模块?

excel - 显示单元格中选定的切片器项目

arrays - Excel VBA : Mysterious Zero is Being Added to Array Created with "For" Loop

charts - 用于制作瀑布图的 chart.js 插件

html - 在vba中按顺序获取html标签

python - 从Excel文本文件自动输入

vba - 不保存宏