Página 1 de 1
Concatenar várias células
Enviado: 01 Dez 2017 às 09:03
por MarcosRezende
Pessoal bom dia.
No Excel 2016 sei que existe a função CONTACT, com ela eu consigo concatenar várias células. Porém aqui na empresa eu ainda estou na versão 2013.
Alguém poderia me auxiliar em como criar uma função para unir diversas células, sei que é possível através da UDF, porém no excel eu não sei como fazer. Poderiam me ajudar???
Grato.
Concatenar várias células
Enviado: 01 Dez 2017 às 09:08
por wesleyribeiro123
MarcosRezende
Bom dia,
Use:
Concatenar várias células
Enviado: 01 Dez 2017 às 09:09
por wesleyribeiro123
Concatenar várias células
Enviado: 01 Dez 2017 às 09:14
por MarcosRezende
Obrigado pela resposta, porém não é o que eu preciso, quando falo de várias células estou falando de + ou - 2.000. Fazendo com uma fórmula simples irei levar uma eternidade para montar a fórmula.rsrsrsrsrsrs
Concatenar várias células
Enviado: 01 Dez 2017 às 09:36
por wesleyribeiro123
MarcosRezende
Realmente, ai o cenário já muda...
Uma pergunta, podemos utilizar uma solução em VBA?
Ou deseja que seja apenas com fórmulas nativas do Excel?
Concatenar várias células
Enviado: 01 Dez 2017 às 09:54
por MarcosRezende
Pode sim, acredito que para unir tantas células assim só mesmo uma função em VBA, porém eu não manjo nada. poderia me ajudar?
Re: Concatenar várias células
Enviado: 01 Dez 2017 às 10:07
por gfranco
Bom dia.
Eu uso essa UDF que posto abaixo e que foi escrita pelo mestre Fernando Fernandes.
É uma mão na roda.
Copie o código, cole num módulo e salve a planilha como XLSM .
As explicações estão na própria UDF.
Código: Selecionar todosOption Explicit
'====================================================================
'Nome.........: UnirTexto *(Criada e incluída no Excel 2016, mas ausente nas outras versões)
'Data.........: 29/03/2016 (dmy)
'Autor........: Fernando Fernandes
'Contato......: Fernando.Fernandes@outlook.com.br
'Descrição....: Concatena todos os textos informados no último parâmetro,
' usando o delimitador para separá-los, ignorando ou não as células vazias
'Forum........: www.Planilhando.com.br
'====================================================================
Public Function UnirTexto(ByVal Delimitador As String, _
ByVal IgnorarVazios As Boolean, _
ParamArray Celulas() As Variant) As Variant
On Error GoTo TratarErro
Dim Intervalo As Variant
Dim Resultado As String
Dim i As Long
Dim j As Long
Dim k As Long
If UBound(Celulas, 1) < LBound(Celulas, 1) Then
UnirTexto = VBA.Conversion.CVErr(xlErrValue)
Exit Function
End If
For i = LBound(Celulas, 1) To UBound(Celulas, 1) Step 1
If VBA.Information.IsArray(Celulas(i)) Then
Intervalo = Celulas(i)
For j = LBound(Intervalo, 1) To UBound(Intervalo, 1) Step 1
For k = LBound(Intervalo, 2) To UBound(Intervalo, 2) Step 1
If Not VBA.Information.IsError(Intervalo(j, k)) Then
If Not VBA.Strings.Trim(Intervalo(j, k)) = vbNullString Then
Resultado = Resultado & Delimitador & Intervalo(j, k)
End If
End If
Next k
Next j
Else
If Not VBA.Information.IsError(Celulas(i)) Then
If Not VBA.Strings.Trim(Celulas(i)) = vbNullString Then
Resultado = Resultado & Delimitador & Celulas(i)
End If
End If
End If
Next i
If VBA.Strings.Len(Resultado) > VBA.Strings.Len(Delimitador) Then
Resultado = VBA.Strings.Right(Resultado, VBA.Strings.Len(Resultado) - VBA.Strings.Len(Delimitador))
End If
UnirTexto = Resultado
Exit Function
TratarErro:
UnirTexto = VBA.Conversion.CVErr(xlErrValue)
End Function
Concatenar várias células
Enviado: 01 Dez 2017 às 10:20
por MarcosRezende
Gfranco, obrigado, salvei o módulo como você disse. Na célula estou colocando assim: =UNIRTEXTO(A1:DC1) porém ele me retorna o erro #NOME?. O que estou fazendo errado? Poderia me ajudar?