Embora você tenha marcado isso com a função de planilha, você fala sobre o uso do VBa na pergunta. Este VBa faz os dois exemplos que você deu
Option Explicit
Sub EeekPirates()
Dim formula As String
formula = Range("B4").formula
Dim split1() As String
split1 = Split(formula, "(")
Dim temp As String
temp = Replace(split1(1), ")", "")
Dim splitty() As String
splitty = Split(temp, ":")
Dim firstCol As Integer
firstCol = AscW(Left(splitty(0), 1))
Dim secondCol As Integer
secondCol = AscW(Left(splitty(1), 1))
Dim firstRow As Integer
firstRow = Right(splitty(0), 1)
Dim secondRow As Integer
secondRow = Right(splitty(1), 1)
Range("B5").Value = "" ' this could be updated to 'B4 = '
Dim i As Integer
Dim j As Integer
For j = firstRow To secondRow
For i = firstCol To secondCol
Range("B5").Value = Range("B5").Value & Chr(i) & j & "+"
Next i
Next j
Dim length As Integer
length = Len(Range("B5").Value) - 1
Range("B5").Value = Left(Range("B5").Value, length)
End Sub
Apenas lembre-se que não há desfazer, então faça um backup primeiro.
Como eu adiciono o VBA no MS Office?
Exemplo com A1: D1
ExemplocomA1:D2
Deacordocomoscomentáriosnocódigo,sevocêatualizarde
Range("B5").Value = ""
para
Range("B5").Value = "B4 = "
Você vai acabar com (em B5)
B4 = A1 + B1 + C1 + D1