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 FunctionBaixe a planilha
Até a próxima
Marcos Rieper