Ficou entediado e foi um bom quebra-cabeça.
Sub rangesplit()
Dim fnlStr As String
Dim strstrt As String
Dim rngsplit() As String
Dim rng As Range
Dim str As Variant
'Change Selection to the range you want. If more than one cell you will need a loop
fnlStr = Selection.Formula
'remove the part before and including the "(" and store in a variable.
strstrt = Left(fnlStr, InStr(fnlStr, "("))
fnlStr = Left(fnlStr, Len(fnlStr) - 1)
fnlStr = Replace(fnlStr, strstrt, "")
'Split the rest on "," in case of multiple ranges.
rngsplit = Split(fnlStr, ",")
'clear fnlstr and start peicing back together
fnlStr = strstrt
'Loop through resultant array
For Each str In rngsplit
'Check if viable Range
If Not IsError(Range(str)) Then
'Loop throug range
For Each rng In Range(str)
'Append each address to fnlstr
fnlStr = fnlStr & rng.Address & ","
Next rng
End If
Next str
'remove the extra "," and replace it with ")"
fnlStr = Left(fnlStr, Len(fnlStr) - 1) & ")"
Selection.Formula = fnlStr
End Sub