Descrição:
A função InStrRev
em VBA é uma ferramenta poderosa para manipulação de strings. Ela permite encontrar a última posição de uma substring dentro de uma string. Diferentemente da função InStr
, que retorna a primeira ocorrência, o InStrRev
busca a última ocorrência da substring na string. Isso é especialmente útil quando se precisa extrair informações específicas de um texto e a última instância é a relevante. Com o InStrRev
, é possível criar algoritmos mais robustos e precisos para manipulação de dados de texto no Excel usando VBA.
Exemplos:
Sub Exemplo1()
Dim posicao As Integer
posicao = InStrRev("banana", "na")
MsgBox "A última ocorrência de 'na' começa na posição " & posicao
End Sub

Neste exemplo, a função InStrRev
é utilizada para encontrar a última posição da substring “na” na string “banana”. A posição é então exibida em uma mensagem.
Sub Exemplo2()
Dim posicao As Integer
posicao = InStrRev("abcdefg", "cde")
MsgBox "A última ocorrência de 'cde' começa na posição " & posicao
End Sub
Neste exemplo, a função InStrRev
é utilizada para encontrar a última posição da substring “cde” na string “abcdefg”. A posição é então exibida em uma mensagem.
Sub Exemplo3()
Dim posicao As Integer
posicao = InStrRev("abcdefg", "z")
MsgBox "A última ocorrência de 'z' começa na posição " & posicao
End Sub
Neste exemplo, a função InStrRev
é utilizada para encontrar a última posição da substring “z” na string “abcdefg”. Como a substring não é encontrada, a função retorna 0.
Sub Exemplo4()
Dim posicao As Integer
posicao = InStrRev("abcdefg", "a", 4)
MsgBox "A última ocorrência de 'a' antes da posição 4 começa na posição " & posicao
End Sub
Neste exemplo, a função InStrRev
é utilizada para encontrar a última posição da letra “a” na string “abcdefg”, considerando apenas os caracteres até a posição 4. A posição é então exibida em uma mensagem.
Sub Exemplo5()
Dim posicao As Integer
posicao = InStrRev("abcdefg", "b", , vbBinaryCompare)
MsgBox "A última ocorrência de 'b' (comparação binária) começa na posição " & posicao
End Sub
Neste exemplo, a função InStrRev
é utilizada para encontrar a última posição da letra “b” na string “abcdefg”, utilizando uma comparação binária. A posição é então exibida em uma mensagem.