Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("E24:E44,E87:E100")) Is Nothing Then
If Target - Int(Target) < 0.05 Then
Target.NumberFormat = "0 000"" kg"""
Else
Target.NumberFormat = "0 000.0"" kg"""
End If
End If
End Sub