vba检查负值

时间:2012-10-31 16:06:58

标签: excel vba excel-vba negative-number

我写了一个简单的VBA代码来检查单元格的值是否为负数,如果是负数,则将其突出显示为红色。出于某种原因,我不断遇到“运行时不匹配”。我的代码是

For x = 2 To 100

Set val3 = Worksheets("Summary").Cells(x, 9)
If val3.Value < 0 Then
Worksheets("Summary").Cells(x, 9).FontColorIndex = 3

End If
Next x

第9列(我正在检查的列)中填充了美元值。提前感谢您的帮助。

3 个答案:

答案 0 :(得分:6)

在你的代码中,你只是错过了一个点。

  

FontColorIndex = 3

应该是:

  

Font.ColorIndex = 3

答案 1 :(得分:0)

Public Sub test()
   For x = 2 To 100
      Set val3 = Worksheets("Sheet1").Cells(x, 9)
      If val3.Value < 0 Then
         Worksheets("Sheet1").Cells(x, 9).Font.Color = RGB(99, 179, 73)
      End If
   Next x
End Sub

以上代码适用于excel 2007

答案 2 :(得分:0)

感谢您的帖子,我需要在某个过程后将负数更改为零 - 但我想在使用之前检查它们,因此更改字体颜色很有用,因此此代码适用于整个工作表范围直到(245,50)

Sub negnumbers()
    For x = 1 To 245
        For y = 1 To 50
        Set val3 = Worksheets("target sheet").Cells(x, y)
        If val3.Value < 0 Then
        Worksheets("target sheet").Cells(x, y).Font.ColorIndex = 3
        Worksheets("target sheet").Cells(x, y) = 0
        End If
        Next y
    Next x
End Sub