【发布时间】:2012-04-12 10:07:42
【问题描述】:
我对 VBA 非常陌生,并且基于 Excel 2007 中的宏记录器创建了一个图表。我在使用 If 语句时遇到了一些问题,我希望找到 FALSE 的值strong> 在单元格范围内并更改图表中标记的颜色。我没有得到想要的结果,但是所有的标记都变成了 Else 条件。这是sn-p供参考:
Dim rSeries As Range
Dim MyChart As Chart
Set rSeries = Sheets("Data").Range("I24:I39")
Set MyChart = Sheets("Sheet1").ChartObjects("PT_Schedule").Chart
With MyChart
If rSeries.Find("FALSE") Then
.SeriesCollection(8).MarkerForegroundColor = RGB(255, 255, 0)
.SeriesCollection(8).MarkerBackgroundColor = RGB(255, 255, 0)
Else
.SeriesCollection(8).MarkerForegroundColor = RGB(255, 0, 0)
.SeriesCollection(8).MarkerBackgroundColor = RGB(255, 0, 0)
End If
End With
谁能解释为什么 FALSE 的任何单元格值不符合条件以及代码应该更改为什么?
提前致谢!
【问题讨论】:
-
这是一个链接
siddharthrout.wordpress.com/2011/07/14/find-and-findnext-in-excel-vba/,它将指导您如何使用.Find:) 如果您仍然卡住,那么我们将从那里获取它:) -
我现在明白为什么整个系列都在变化。我想我了解 .Find 功能。我已经使用您提供的链接来确定(经过一些调整)我的错误不在查找中,而是在 .SeriesCollection() 中。这就是为什么更改整个集合而不是单个点的原因。有没有办法识别集合中的单个点并修改图表上的颜色?
标签: excel excel-2007 vba