0

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

4

3 回答 3

6

在您的代码中,您只是缺少一个点。

字体颜色索引 = 3

应该:

字体颜色索引 = 3

于 2012-10-31T16:27:38.617 回答
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

于 2012-10-31T16:16:23.937 回答
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
于 2015-04-13T02:28:34.553 回答