Boa tarde,
Desculpe ao moderadores se estou postando em seção errada.
Fiquei na dúvida se postava aqui na seção de VBA ou na de Funções. Como é uma função personalizada resolvi postar aqui.
Bom, eu achei um código na internet que cria a função "RetiraNúmeros" que ela separa os números de uma célula que tenha caracteres alfanuméricos:
A1 = "CEL123SO"
B1 = "=ReticaNumeros(A1) o resultado na célula B1 é "123"
O código dessa fórmula está logo abaixo.
O que eu queria era um função que extraísse o texto, exemplos:
CEL123SO, "Resultado = CELSO"
1ALEX, "Resultado = ALEX"
J25ULIO, "Resultado = JULIO"
RICAR999DO, "Resultado = RICARDO"
'<alteracao>
'Esta função tem por objetivo retirar números de células que contenham conteúdos mistos de números e texto
'sem a possibilidade de serem colunados
Public Function RetiraTextos(ByVal vValor As String) As String
'Atualiza o cálculo automaticamente
Application.Volatile
'Conta a quantidade de caracteres
Dim vQtdeCaract As Long
Dim vControle As Boolean
vQtdeCaract = Len(vValor)
vControle = False
'Para cada caractere identifica se é número ou texto
For i = 1 To vQtdeCaract
'Se for número adiciona no retorno da função
If Application.IsText(Mid(vValor, i, 1)) = True Then
If vControle = True And RetiraTextos <> vbNullString Then
RetiraTextos = RetiraTextos + " "
End If
vControle = False
RetiraTextos = RetiraTextos & Mid(vValor, i, 1)
Else
vControle = True
End If
Next
'Substitui espaços em branco por / e tira espaços em branco no final do retorno da função
RetiraTextos = Replace(Trim(RetiraTextos), " ", "/")
End Function
'</alteracao>
Postado : 28/03/2014 3:27 pm