如果查找不按预期工作

时间:2012-03-28 18:53:07

标签: excel-vba excel-2007 vba excel

我对VBA很新,并且已经在Excel 2007中创建了一个基于宏记录器的图表。我遇到了一些问题,我希望找到 FALSE的值在单元格区域中并更改图表中标记的颜色。我没有得到预期的结果,但所有的标记都在变为Else条件。以下是参考代码段:

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 的任何单元格值都不符合标准以及代码应该更改为什么?

提前致谢!

1 个答案:

答案 0 :(得分:0)

方法Find()返回一个Range,而不是一个Boolean。 您应该验证返回的范围是否为空(VBA中没有任何内容)

If Not rSeries.Find("FALSE") Is Nothing Then