0029-Funções Personalizadas para Texto

Embora tenhamos tantas funções de texto nativas no Excel, na minha opinião ainda poderíamos ter, por exemplo:
1. Uma função para contar o número de ocorrências de uma cadeia de caracteres numa cadeia de texto;
2. Uma função para concatenar as células de um intervalo informado como argumento da função;
3. Uma função que retorna-se o primeiro nome e o último sobrenome de nomes de pessoas.

Bem, como o Excel não possui estas funções nativas, eis minhas sugestões de UDF (User Defined Function).

1. Função CONTCARACT
O que faz: Conta o número de ocorrências de uma seqüência de caracteres em uma cadeia de texto
Sintaxe:
CONTCARACT(Texto; Pesquisar;Tipo)
Texto: Texto no qual a cadeia será pesquisada;
Pesquisar: Cadeia a ser pesquisada;
Tipo: FALSO (ou omitido) >> não serão diferenciadas maiúsculas e minúsculas)
Código:

Function CONTCARACT(Texto As String, Pesquisar As String, Optional Tipo As Boolean)
Dim i As Integer
Application.Volatile
For i = 1 To Len(Texto)
Select Case Tipo
Case True
If (Mid(Texto, i, Len(Pesquisar))) = (Pesquisar) Then CONTCARACT = CONTCARACT + 1
Case Else
If UCase(Mid(Texto, i, Len(Pesquisar))) = UCase(Pesquisar) Then CONTCARACT = CONTCARACT + 1
End Select
Next i
End Function

2. Função CONCATENARINTERVALO
O que faz: Concatena todas as células de um intervalo contínuo informado.
Sintaxe: CONCATENARINTERVALO(Intervalo)
Código:

Function CONCATENARINTERVALO(Intervalo As Range)
Dim Célula As Range
Application.Volatile
For Each Célula In Intervalo
CONCATENARINTERVALO = CONCATENARINTERVALO & Célula
Next Célula
End Function

3. Função ENCURTARNOMES
O que faz: Exibe apenas o primeiro e o último nome de uma cadeia de texto cujos elementos são separados por espaços
Sintaxe: ENCURTARNOMES(Nome)
Código:

Function ENCURTARNOMES(Nome As String)
Dim PrimNome As String
Dim UltNome As String
Application.Volatile
PrimNome = Left(Nome, InStr(1, Nome, Space(1)) - 1)
UltNome = Right(Nome, Len(Nome) - InStrRev(Nome, Space(1), -1))
ENCURTARNOMES = PrimNome & Space(1) & UltNome
End Function

In Excel We Trust

Marcado com: ,
Publicado em Nível: Avançado
2 comentários em “0029-Funções Personalizadas para Texto

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,963,899

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: