这样么?

Private Sub Worksheet_Change(ByVal Target As Range) '自动单位填充
Dim cell As Range
Dim value As Variant
' 检查是否在C2:C251范围内进行更改
If Not Intersect(Target, Range("C2:C251")) Is Nothing Then
Application.EnableEvents = False ' 禁用事件以避免无限循环
For Each cell In Target
value = cell.value
' 检查单元格内容是否为数字
If IsNumeric(value) Then
' 格式化数字为最多3位小数
value = Round(value, 3)
' 检查是否为整数
If Int(value) = value Then
' 添加单位"A"并更新单元格值,不添加小数点
cell.value = Int(value) & "A"
Else
' 添加单位"A"并更新单元格值
cell.value = value & "A"
End If
End If
Next cell
Application.EnableEvents = True ' 启用事件
End If
End Sub