源代码:
Dim TH As Double
Lr = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
'starting point
sRow = 2
'Loop in all cells
For i = sRow To Lr
'check if cell value are not same
If Cells(i, 1).Value <> Cells(i + 1, 1) Then
'if not same then merge all the above cells
Range("I" & sRow, "I" & i).Resize(, 7).Select
TH = Application.WorksheetFunction.Sum(Selection)
**If TH <> 40 Then**
Range("A" & sRow, "A" & i).Interior.Color = RGB(255, 0, 0)
End If
在本守则中:
如果TH&lt;&gt; 40当TH在十进制数上计算时,条件不起作用。
例如3.60,0.80,4.60当使用SUM函数但是如果条件没有得到满足时,Sum将变为40。
请帮助
答案 0 :(得分:0)
我试过这个,把小数点全部放在一边就可以了:
Sub TestMe()
Dim lr As Long
Dim TH As Double
Dim i As Long
lr = 10
For i = 1 To lr
If Cells(i, 1).Value <> Cells(i + 1, 1) Then
Range("I" & 6, "I" & i).Resize(, 7).Select
TH = Application.WorksheetFunction.Sum(Selection)
If TH <> 40 Then
Range("A" & 6, "A" & i).Interior.Color = RGB(255, 0, 0)
End If
End If
Next
End Sub
因此,可能问题是你输入小数的方式。在某些系统(德语或法语)中,小数点分隔符为,
,而在英语系统中,它是一个点 - .
。因此,您可能使用了错误的。