0235 – Dica VBA – Funções Join e Split

Essas funções automatizam o processo de montagem e desmontagem de matrizes a partir de cadeias de texto.

Exemplo 1:

Você quer combinar os componentes de uma matriz criando uma única cadeia de texto, e mantendo os elementos separados por ponto-e-vírgula.

A resposta poder ser obtida utilizando um loop que percorra os elementos da matriz, ou utilizando-se diretamente a função Join

Sub CombinarElementos()

Dim strCombinacao1  As String
Dim strCombinacao2  As String
Dim strSeparador    As String
Dim intContador     As Integer
Dim arrMatriz()


'Definir a matriz
arrMatriz = Array("Elemento 1", "Elemento 2", "Elemento 3")

'Definir o caractere separador
strSeparador = ";"

'Método 1: utilizando um loop
For intContador = LBound(arrMatriz) To UBound(arrMatriz)

    strCombinacao1 = strCombinacao1 & arrMatriz(intContador) & strSeparador

Next intContador

'Eliminando o último separador
strCombinacao1 = Left(strCombinacao1, Len(strCombinacao1) - 1)


'Método 2: utilizando Join
strCombinacao2 = Join(arrMatriz, strSeparador)


'Exibindo os resultados
MsgBox strCombinacao1 & vbLf & strCombinacao2

End Sub

Exemplo 2:

Você quer extrair os elementos de uma cadeia de caracteres, para criar uma matriz. Esses elementos possuem um caractere separador conhecido.

Vejam como fica o código utilizando a função Split

Sub SepararElementos()

Dim strCombinacao1  As String
Dim strCombinacao2  As String
Dim strSeparador    As String
Dim intContador     As Integer
Dim arrMatriz()

'Definir a cadeia de texto
strCombinacao1 = "Elemento 1;Elemento 2;Elemento 3"

'Definir o caractere separador
strSeparador = ";"

'Aplicar a função Split
arrMatriz = Split(strCombinacao, strSeparador)

'Criar uma cadeia de texto para exbir os elementos separadamente
For intContador = LBound(arrMatriz) To UBound(arrMatriz)

    strCombinacao2 = strCombinacao2 & arrMatriz(intContador) & vbLf

Next intContador

'Exibindo os resultados
MsgBox strCombinacao2

End Sub

Desta forma podemos simplificar rotinas e acelerar o tempo de processamento.

In Excel We Trust

Marcado com: , , , ,
Publicado em Excel, Nível: Avançado

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Visitas dos usuários
  • 1,964,110

Clique para assinar este blog e receber notificações de novos artigos por email.

Junte-se a 1.476 outros seguidores

Aumente sua interação

Siga-nos do twitter (@usuariosdoexcel).

Acesse o nosso fórum e compartilhe as suas dúvidas.

Curta nossa página no Facebook.

Junte-se ao grupo do LinkedIn.

Visite-nos utilizando o seu smartphone ou tablet.

Recomende este Blog
Visualizar notícias
Site monitorado:
Real Time Web Analytics

Clicky

%d blogueiros gostam disto: