Option Explicit ' Sub abc() Dim a, i, j, k, p, t, sum a = [a1].CurrentRegion.Resize(, 1).Value For i = 1 To UBound(a) Do While InStr(a(i, 1), "(") For j = 1 To Len(a(i, 1)) If Mid(a(i, 1), j, 1) = "(" Then p = j If Mid(a(i, 1), j, 1) = ")" Then t = Mid(a(i, 1), p, j - p + 1) a(i, 1) = Left(a(i, 1), p - 1) & Evaluate(t) & Mid(a(i, 1), j + 1) Exit For End If Next Loop t = Split(a(i, 1), "+") For j = 0 To UBound(t) sum = sum + Evaluate(t(j)) Next a(i, 1) = sum: sum = 0 Next [b1].Resize(UBound(a)) = a End Sub