我在第6列中有数据。这里的数据是“差异”,计算为前两列之间的差异。由于我正在进行对帐,因此差异列中的值应为0。
会发生一个for循环,我逐行检查第6列中的值是否等于0.如果值为0,那么我很好。我需要知道它是不是0所以我做了进一步的调查。
'calculating the differences in previous cols
MyReport.Range("F2:F" & LastRow).Formula = "=RC[-4]-RC[-2]"
'This is where the Type error occurs at .value<>0 line
If MyReport.Cells(RowCounter, 6).Value <> 0 Then
MyReport.Cells(RowCounter, 6).Interior.ColorIndex = 40
End If
数字长而不是整数,也许这就是为什么?我曾经在整数中使用它并且它工作但我有一个更大的数据集所以我需要使用长。使用long给了我这个错误,我之前没有。
答案 0 :(得分:0)
好的,我想出了怎么做,万一其他人也有同样的问题。
For Row=2 to RowCounter
If IsNumeric(MyReport.Cells(RowCounter, 6).Value) = True Then
If MyReport.Cells(RowCounter, 6).Value <> 0 Then
My.Cells(RowCounter, 6).Interior.ColorIndex = 40
End If
ElseIf IsNumeric(MyReport.Cells(LastRow, 6).Value) = False Then
MyReport.Cells(RowCounter, 6).Interior.ColorIndex = 40
End If
只有当单元格中的数据是数字时,我才会检查它是否不等于0.如果它不是数字(IsNumeric = False),那么我会自动突出显示它。