Função VBA InStrRev - Localizar texto da direita

Este tutorial irá demonstrar como usar a função InStrRev VBA para encontrar o texto à direita…

Função InStrRev

A função VBA InStrRev procura a posição de uma substring dentro de uma string. Ele retorna a contagem de posição da esquerda para a direita, mas realiza a pesquisa do final da string para o início.

VBA InStrRev Localizar Substring

A função VBA InStrRev pode ser usada para localizar a posição de uma substring dentro de uma string.

12345678 Sub InStrRevExample_1 ()MsgBox InStrRev ("ABCABC", "C") 'O resultado é: 6MsgBox InStrRev ("ABCABC", "BC") 'O resultado é: 5MsgBox InStrRev ("La La Land", "L") 'O resultado é: 7MsgBox InStrRev ("La La Land", "La") 'O resultado é: 7MsgBox InStrRev ("La La Land", "La") 'O resultado é: 4MsgBox InStrRev ("La La Land", "M") 'O resultado é: 0End Sub

Posição inicial VBA InStrRev

A função VBA InStrRev pode iniciar a busca por uma substring de uma posição atribuída contada da esquerda para a direita.

12345678 Sub InStrRevExample_2 ()MsgBox InStrRev ("La La Land", "L") 'O resultado é: 7MsgBox InStrRev ("La La Land", "L", 8) 'O resultado é: 7MsgBox InStrRev ("La La Land", "L", 7) 'O resultado é: 7MsgBox InStrRev ("La La Land", "L", 6) 'O resultado é: 4MsgBox InStrRev ("La La Land", "L", 4) 'O resultado é: 4MsgBox InStrRev ("La La Land", "L", 3) 'O resultado é: 1End Sub

Programação VBA | O Code Generator funciona para você!

VBA InStrRev Case Sensitivity

A função VBA InStrRev por padrão diferencia maiúsculas de minúsculas. Você pode alterar esse comportamento para não diferenciar maiúsculas de minúsculas usando um parâmetro opcional. Nesse caso, você também deve definir a posição inicial da pesquisa.

123456789 Sub InStrRevExample_3 ()'InstrRev por padrão é sensível a maiúsculasMsgBox InStrRev ("La La Land", "L") 'O resultado é: 7MsgBox InStrRev ("La La Land", "l") 'O resultado é: 0'InstrRev pode realizar pesquisas que não diferenciam maiúsculas de minúsculasMsgBox InStrRev ("La La Land", "L", -1, vbTextCompare) 'O resultado é: 7MsgBox InStrRev ("La La Land", "l", -1, vbTextCompare) 'O resultado é: 7End Sub

VBA InStrRev Último Espaço

A função VBA InStrRev pode encontrar a posição do último espaço em uma string.

123456789 Sub InStrRevExample_4 ()MsgBox InStrRev ("La La Land", "")'O resultado é: 6MsgBox InStrRev ("Leonardo da Vinci", "")'O resultado é: 12MsgBox InStrRev ("Que a Força esteja com você", "")'O resultado é: 22End Sub

VBA InStrRev segundo ao último espaço

A função VBA InStrRev pode encontrar a posição do penúltimo espaço em uma string. Podemos usar a função VBA InStrRev para encontrar o último espaço em uma string e então podemos usar novamente InStrRev com um novo ponto de partida para encontrar a posição do penúltimo espaço

12345678910111213 Sub InStrRevExample_5 ()Dim LastPos As IntegerLastPos = InStrRev ("Que a Força esteja com você", "")O resultado do MsgBox LastPos é: 22Dim SecondLastPos As IntegerSecondLastPos = InStrRev ("Que a Força esteja com você", "", LastPos - 1)O resultado de MsgBox SecondLastPos 'é: 17'InStrRev começou a busca por espaço um pouco antes do último espaço'Vai encontrar o penúltimo espaço porque pesquisa da direita para a esquerdaEnd Sub

Cansado de procurar exemplos de código VBA? Experimente o AutoMacro!

Nome do arquivo de retorno VBA InStrRev

A função VBA InStrRev pode ser usada para retornar facilmente o nome do arquivo de uma string que contém o caminho e o nome do arquivo. Usaremos a função InStrRev com as funções VBA Len e VBA Right.

A função VBA Len retorna o comprimento de uma string:

1 MsgBox Len ("XBCX") 'O resultado é: 4

A função VBA Right retorna n caracteres do final de uma string:

1 MsgBox Right ("ABCDE", 2) 'O resultado é: DE

Podemos usar a função InStrRev para encontrar a última ocorrência de “\” no nome do caminho e usar a função Len para calcular o comprimento do nome do arquivo. O Right pode então extrair o nome do arquivo.

12345678910111213141516171819202122232425262728 Sub InStrRevExample_4 ()Dim PathEx As StringPathEx = "C: \ MyFiles \ Other \ UsefulFile.pdf"Dim FilenameEx As StringFilenameEx = Right (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))MsgBox FilenameEx 'Result is: UsefulFile.pdf'Vamos decompor este códigoMsgBox Len (PathEx)'Este é o comprimento do nome do caminho (31)MsgBox InStrRev (PathEx, "\")'Esta é a posição do último \ na stringMsgBox Len (PathEx) - InStrRev (PathEx, "\")'Este é o comprimento do nome do arquivo (14)'A diferença entre o comprimento total e a posição do último \ na string'(31-27 = 14)'Agora sabemos o comprimento do nome do arquivo e, claro, está no final'A função certa é ideal para esta situaçãoFilenameEx = Right (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))End Sub
wave wave wave wave wave