首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在VBA中根据条件对excel XY散点图中的点进行着色?

如何在VBA中根据条件对excel XY散点图中的点进行着色?
EN

Stack Overflow用户
提问于 2019-04-29 19:19:13
回答 1查看 166关注 0票数 1

我尝试使用多个序列遍历xy图表中的每个点,并基于特定的if条件(如果特定单元格中有值)更改颜色。

这让我抓狂,因为它非常不一致(有时只是删除边框和填充保留,有时只是删除填充和边框保留)。

摘录如下。我已经尝试过了:

代码语言:javascript
运行
复制
'MarkerBackgroundColor = rgb(255,255,255)
'MarkerForegroundColor = rgb(255,255,255)

我也尝试过将其设置为true,然后返回为false (似乎适用于.line...)仅供参考- If条件起作用了,我已经用msgbox测试过了,它是在正确的时间触发的(如果你关心的话-它从第3行开始读取空白单元格值,从第7列开始,每次迭代i都会跳过4列)。

代码如下:

代码语言:javascript
运行
复制
Dim ws as Worksheet
Dim cht as Chart

set ws = Worksheets("Sheet 1")
Set cht = ws.ChartObjects("Chart_Name")

For i = 2 To 8
    For x = 1 To cht.SeriesCollection(i).Points.Count
        If ws.Cells(x + 2, i + 5 + (3 * (i - 2))).Value = "" Or ws.Cells(x + 2, i + 5 + (3 * (i - 2))).Value = " " Then
            With cht.SeriesCollection(i).Points(x)
                .Format.Fill.ForeColor = rgb(255, 255, 255)              
                .Format.Line.Visible = msoFalse

            End With
        Else
        End If
    Next x
Next i
EN

回答 1

Stack Overflow用户

发布于 2019-04-30 10:00:55

好吧,我“修复”了它- cht.SeriesCollection(i).Points(x).MarkerStyle = -4142 (即标记类型= none)做到了这一点。

仍然不确定为什么会发生这种情况--似乎Format.Fill并不是很可靠。

如果有人有一个解释,将仍然非常感谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55902253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档