Retornar enésima palavra na string de texto
A função a seguir encontrará a enésima palavra em uma string:
Função Find_nth_word (Phrase As String, n As Integer) As String Dim Current_Pos As Long Dim Length_of_String As Integer Dim Current_Word_No As Integer Find_nth_word = "" Current_Word_No = 1 'Remover Espaços Iniciais Phrase = Trim (frase) Length_of_String = Len (frase) para Current_Pose = 1 To Length_of_String If (Current_Word_No = n) Then Find_nth_word = Find_nth_word & Mid (Phrase, Current_Pos, 1) End If If (Mid (Phrase, Current_Pos, 1) = "") Then Current_Word_No = Current_Word_No + 1 End If Next Current_Pos ' Remova o espaço mais à direita Find_nth_word = Trim (Find_nth_word) End Function
São necessários dois argumentos - a frase que deve ser pesquisada e o número da palavra:
Find_nth_word(“AutomateExcel é o site Excel favorito do mundo”, 4)
Retornará “mundo”.
Um espaço em branco é retornado se o número de palavras na frase for menor que o número da palavra especificado.
Então: Find_nth_word(“AutomateExcel é o site Excel favorito do mundo”, 12)
Retornará em branco, pois não há 12 palavras na frase “AutomateExcel é o site Excel favorito do mundo”.
Download
Para baixar o arquivo .XLSM deste artigo, clique aqui