Objetivo: Demonstrar função global criada em VBA para resolver uma restrição da função Concatenar do Excel.
A função Concatenar do Excel é uma das principais funções de texto do Excel, a sua função é de concatenar valores em uma célula. No entanto esta função tem uma restrição chata, ela não permite que você selecione diversas células de uma só vez para realizar a concatenação.
Desta forma criei uma função em VBA que resolve este problema, você poderá selecionar diretamente um intervalo de células que será separado por um delimitador definido também na própria fórmula, ganhando assim um bom tempo.
A função funciona da seguinte forma:
- gfConcatenar(Intervalo; Delimitador) -> Função que une um intervalo de células separando as informações concatenadas por um delimitador.
Sendo:
- Intervalo: intervalo de células a serem concatenadas
- Delimitador: separador dos dados das células
- Exemplo: =gfConcatenar(A2:A18;”-“)
Para usar a função você deve implementar a função abaixo conforme o artigo http://guiadoexcel.com.br/criando-funcoes-proprias-globais.
Código:
'Função que concatena dados de um range
'lRange = Intervalo de dados a concatenar
'lSeparador = String de separador definido pelo usuário
Public Function gfConcatenar(ByVal lRange As Range, Optional ByVal lSeparador As String) As String
Application.Volatile
Dim lCel As Range
If lRange Is Nothing Then
gfConcatenar = ""
Else
For Each lCel In lRange
If lCel.Value "" Then
If gfConcatenar = "" Then
gfConcatenar = CStr(lCel.Value)
Else
gfConcatenar = gfConcatenar + lSeparador + CStr(lCel.Value)
End If
End If
Next lCel
End If
End Function
Baixe a planilha
Até a próxima
Marcos Rieper




