="("&A1&")|("&A2&")|("&A3&")|("&A4&")"
Se o intervalo usado na coluna A contiver muitos dados (ou às vezes mudar), você deve usar o código vba para gerar o resultado.
="("&A1&")|("&A2&")|("&A3&")|("&A4&")"
Se o intervalo usado na coluna A contiver muitos dados (ou às vezes mudar), você deve usar o código vba para gerar o resultado.
Você pode conseguir isso usando uma função personalizada de código VBA.
Na sua planilha do excel, pressione ALT + F11 para abrir o VBA Editor. No menu Arquivo, insira um módulo e clique duas vezes no nome do módulo no painel esquerdo (se necessário) para abrir o editor de código-fonte. Cole o seguinte código nele.
Function TXTJOIN(argument1 As Range) 'Accept input range
rowcounter = argument1.Rows.Count
If rowcounter > 255 Then
TXTJOIN = CVErr(xlErrValue) 'If row counter > 255 return #VALUE! Error
Exit Function
End If
colcounter = argument1.Columns.Count ' Check the number of columns in the input range
If colcounter = 1 Then 'Process if it's a single column range
For Each element In argument1
result = result & "(" & element & ")" & "|"
Next element
TXTJOIN = Left(result, Len(result) - 1)
Else
TXTJOIN = CVErr(xlErrValue) 'If it's a multicolumn range, return #VALUE! Error
End If
End Function
Salve o código e saia. Se você estiver usando o Office 2007 e superior, precisará salvar a pasta de trabalho do Excel como pasta de trabalho do Excel habilitada para macro .xlsm.
Desta forma, criamos uma função personalizada chamada TXTJOIN.
Use isso na sua planilha agora, como mostrado na figura abaixo.
Observe que essa função personalizada é simplificada para funcionar apenas em uma única coluna. Passar um intervalo de várias colunas para ele deve retornar #VALUE! Erro. Isso funcionará somente nesta pasta de trabalho, pois o código existe nesta pasta de trabalho. Além disso, para evitar A: A sendo passado para ele, ele restringe a um máximo de 255 células para concatenar.