vba检查负值

我写了一个简单的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栏(我正在检查的栏目)填充了美元值。 预先感谢您的帮助。

在你的代码中,你只是缺less一个点。

FontColorIndex = 3

应该:

Font.ColorIndex = 3

 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中工作

感谢您的文章,我需要在一定的过程后将负数更改为零 – 但我想在使用它们之前检查它们,所以更改字体颜色是有用的,所以此代码适用于整个工作表范围,直到(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