Forum Discussion
Chan_Tze_Leong
May 17, 2021Brass Contributor
Excel formulas with round function
I would like to insert round() to a range of highlighted cells that includes existing formulas. Any help? A reference : I found a macro that round Here is a macro that will wrap a ROUND() ...
HansVogelaar
May 17, 2021MVP
See my reply in Link part of file name to Excel cell for your question about the filename.
Here is a macro:
Sub AddRound()
Dim rng As Range
Dim s As String
Dim p1 As Long
Dim p2 As Long
Dim p3 As Long
Application.ScreenUpdating = False
For Each rng In Range("AH11:AH32,AN11:AN32").SpecialCells(xlCellTypeFormulas)
s = rng.Formula
p2 = InStr(s, "/")
If p2 > 0 Then
If InStr(s, "ROUND") = 0 Then
p1 = InStrRev(s, ",", p2 - 1)
If p1 = 0 Then
p1 = InStrRev(s, "(", p2 - 1)
If p1 = 0 Then
p1 = InStrRev(s, "=", p2 - 1)
End If
End If
If p1 = 0 Then
MsgBox "Houston, we have a problem with cell " & rng.Address & "!", vbExclamation
Stop
Else
p3 = InStr(p2 + 1, s, ")")
If p3 = 0 Then
p3 = Len(s) + 1
End If
s = Left(s, p1) & "ROUND(" & Mid(s, p1 + 1, p3 - p1 - 1) & ",2)" & Mid(s, p3)
rng.Formula = s
End If
End If
End If
Next rng
Application.ScreenUpdating = True
End Sub
Chan_Tze_Leong
May 17, 2021Brass Contributor
Dear Hans, I will have 35 Excel files that have differing length rows for achievement. Could I define these cells under Name Manager as Ach and replace "AH11:AH32,AN11:AN32" with "Ach"? Would the macro still run with no problems?
- HansVogelaarMay 18, 2021MVP
Probably - just try it.