Code: Select all
Sub rRoundIt()
Dim rng As Range
Dim rngArea As Range
Dim AppCalc As Long
On Error Resume Next
With Application
AppCalc = .Calculation
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
Set rng = Union(Selection.SpecialCells(xlCellTypeFormulas, xlNumbers), _
Selection.SpecialCells(xlCellTypeConstants, xlNumbers))
For Each rngArea In rng
If Left(rngArea.Formula, 7) <> "=ROUND(" Then _
rngArea.Formula = "=ROUND(" & Replace(rngArea.Formula, Chr(61), vbNullString) & ", 1)"
Next rngArea
With Application
.ScreenUpdating = True
.Calculation = AppCalc
End With
End Sub