1) Excuí seu anexo pois não atende as regras do forum *(tem que estar compactado)
2) Um código de UDF que faz o que vc precisa:
Public Function Elemento(ByRef Texto As Variant, _
Optional ByVal Delimitador As String = " ", _
Optional ByVal Indice As Long = 1) As Variant
On Error GoTo TratarErro
Elemento = VBA.Split(Application.WorksheetFunction.Trim(Texto), Delimitador)(Indice - 1)
On Error GoTo 0
Exit Function
TratarErro:
Elemento = "#Erro"
End Function
Só peço cuidado, não abuse das UDFs, mesmo que sejam simples, podem retardar o tempo geral de recálculo!
Essa que eu passei, chama-se elemento() como vc solicitou, e vc tem 3 parametros, sendo dois opcionais.
a) Texto (ou o endereço da célula)
b) Qual Delimitador (no seu caso era espaço), eu adotei que se vc suprimir este parametro, adotar-se-á espaço por padrão
c) Qual elemento (eu padronizei em 1 caso seja suprimido)
Para usar faça o seguinte:
- Abra o Excel abra o arquivo aonde quer isso funcionando
- Tecle Ctrl+F11
- Tecle Ctrl+R
- Vai ver uma lista de arquivos, encontre o seu ali, clique direito nele e Inserir / Módulo
- Cole o código acima
- Volte na planilha e escreva numa célula (exemplo, C5), sei lá:
a b c e d g
- Vá noutra célula e digite:
=elemento(C5;" ";3)
- Veja que o resultado é c
Pronto.
3) Isso vai devolver o enésimo item de uma célula, usando o separador (ou delimitador) q vc desejar, e vai considerar preposições como palavras.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 10/04/2015 7:40 am