如果语句基于数值,其中单元格可以包含文本

我已经编写了VBA代码,根据不同的单元格为单元格着色。

如果单元格具有文本而不是数字值,我无法使其工作。

Sub RoutingCheck() Dim I As Long, r1 As Range, r2 As Range For I = 2 To 456 Set r1 = Range("A" & I) Set r2 = Range("B" & I) If r1.Value = 94 And r2.Value = -99 Then r2.Interior.Color = vbRed Next I 'Error End Sub 

在进行比较之前,您需要检查数字值,否则会出现不匹配错误:

 If IsNumeric(r1.Value) And IsNumeric(r2.Value) Then If r1.Value = 94 And r2.Value = -99 Then r2.Interior.Color = vbRed End If