Usar uma função definida pelo usuário será muito mais flexível do que a codificação por célula por célula
- Pressione alt & f11 juntos para irem ao VBE
- Inserir módulo
- copie e cole o código abaixo
- Pressione alt & f11 juntos para voltar ao Excel
use sua nova fórmula como a do snapshot da célula D6 em =ConCat(A1:A5)
Você pode usar fórmulas mais complexas, como a do D7
=ConCat(A1:A5,A7:A24)
ou D8 que é 2D em =concat(A1:B5,A7:A24)
FunctionConCat(ParamArrayrng1())AsStringDimXDimstrOutAsStringDimstrDelimAsStringDimrngAsRangeDimlngRowAsLongDimlngColAsLongDimlngCntAsLongstrDelim=", "
For lngCnt = LBound(rng1) To UBound(rng1)
If TypeOf rng1(lngCnt) Is Range Then
If rng1(lngCnt).Cells.Count > 1 Then
X = rng1(lngCnt).Value2
For lngRow = 1 To UBound(X, 1)
For lngCol = 1 To UBound(X, 2)
strOut = strOut & (strDelim & X(lngRow, lngCol))
Next
Next
Else
strOut = strOut & (strDelim & rng2.Value)
End If
End If
Next
ConCat = Right$(strOut, Len(strOut) - Len(strDelim))
End Function