Try,
Sub DayScore()
Dim i As Long
with worksheets("sheet1")
For i = 2 To .cells(.rows.count, "AD").End(xlUp).Row
If isnumeric(.cells(i, "AD").Value2) And Not IsEmpty(.Cells(i, "AD")) Then
.cells(i, "AG") = 5 + int(.cells(i, "AD").Value2 >30) _
+ int(.cells(i, "AD").Value2 >60) _
+ int(.cells(i, "AD").Value2 >90) _
+ int(.cells(i, "AD").Value2 >150)
else
.cells(i, "AG") = 0
End If
Next i
end with
End Sub
VBA True при математическом использовании - -1
.
Считается, что «рекомендуется» сохранять числа как истинные числа (например, 5
)а не числа, выглядящие как текст (например, "5"
).