VBA – Função Right – Extrair Texto da Direita

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on September 4, 2023

Este tutorial demonstrará como usar a função Right do VBA para extrair texto da direita.

Função Right (Direita)

Função VBA Right – Últimos n Caracteres

A função Right do VBA retorna os últimos n caracteres de uma cadeia de caracteres:

Sub RightExemplo_1()
MsgBox Right("ABCDEFGHI", 4) 'O resultado é: "FGHI"
MsgBox Right("ABCDEFGHI", 2) 'O resultado é: "HI"
MsgBox Right("ABCDEFGHI", 1) 'O resultado é: "I"
MsgBox Right("ABCDEFGHI", 100) 'O resultado é: "ABCDEFGHI"
End Sub

Função VBA Right – Últimos n Caracteres em uma Variável

Como mostrado acima, você pode definir uma cadeia de caracteres simplesmente digitando o texto entre aspas. Mas a função RIGHT também funciona com variáveis de cadeia de caracteres. Esses exemplos extrairão os últimos n caracteres de uma variável de cadeia de caracteres.

Sub RightExemplo_2()
Dim StrEx As String 'Defina uma variável de cadeia de caracteres
StrEx = "ABCDEFGHI"

MsgBox Right(StrEx, 4) 'O resultado é: "FGHI"
MsgBox Right(StrEx, 2) 'O resultado é: "HI"
MsgBox Right(StrEx, 1) 'O resultado é: "I"
MsgBox Right(StrEx, 100) 'O resultado é: "ABCDEFGHI"
End Sub

Função VBA Right – Últimos n caracteres de uma Célula

As cadeias de caracteres podem ser definidas no código VBA, mas você também pode usar valores de células. Leia o valor de uma célula, mantenha-o em uma variável de cadeia de caracteres e extraia os últimos n caracteres do valor da célula da planilha.

right cell value vba


Sub RightExemplo_3()
Dim StrEx As String 'Defina uma variável de cadeia de caracteres
'Leia o valor da célula A1 na planilha1
StrEx = ThisWorkbook.Worksheets("Planilha1").Range("A1").Value

'Para este exemplo, o valor da célula A1 é "ABCDEFG hI"

MsgBox Right(StrEx, 4) 'O resultado é: "G hI"
MsgBox Right(StrEx, 2) 'O resultado é: "hI"
MsgBox Right(StrEx, 1) 'O resultado é: "I"
MsgBox Right(StrEx, 100) 'O resultado é: "ABCDEFG hI"
End Sub

Função VBA Right – Cortar a Primeira Letra

Para remover letras do início de uma cadeia de caracteres, use a função RIGHT junto com a função LEN.

A função LEN do VBA conta o número de caracteres em uma cadeia de caracteres:

Len(StrEx)

Ao combinar as funções, podemos remover um determinado número de caracteres do início da cadeia de caracteres:

Sub RightExemplo_4()
Dim StrEx As String 'Definir uma variável de cadeia de caracteres
StrEx = "ABCDEF"

MsgBox Right(StrEx, Len(StrEx)) 'O resultado é: "ABCDEF"
MsgBox Right(StrEx, Len(StrEx) - 1) 'O resultado é: "BCDEF"
MsgBox Right(StrEx, Len(StrEx) - 2) 'O resultado é: "CDEF"
End Sub

VBA Right para Extrair Texto Após o Espaço

Para extrair o sobrenome de uma cadeia de caracteres com um nome completo, use a função Right juntamente com as funções Len e Instr.

A função LEN do VBA conta o número de caracteres em uma cadeia de caracteres:

Len(StrEx)

A função InStr do VBA procura uma substring dentro de uma string e retorna o número da posição da substring.

InStr(StrEx, " ")

Ao combinar as funções, podemos extrair a parte após o primeiro espaço de uma frase:

Sub RightExemplo_5()
Dim StrEx As String 'Definir uma variável de cadeia de caracteres
StrEx = "Luke Skywalker"

MsgBox Right(StrEx, Len(StrEx) - InStr(StrEx, " "))
'O resultado é: "Skywalker"

StrEx = "Leonardo da Vinci"
MsgBox Right(StrEx, Len(StrEx) - InStr(StrEx, " "))
'O resultado é: "da Vinci"

StrEx = "Que a Força esteja com você"
MsgBox Right(StrEx, Len(StrEx) - InStr(StrEx, " "))
'O resultado é: "a Força esteja com você"
End Sub

VBA Right para Extrair a Última Palavra

Para extrair a última palavra de uma cadeia de caracteres com uma frase, use a função Right juntamente com a função Len e InstrRev.

Como vimos acima, a função LEN do VBA conta o número de caracteres em uma cadeia de caracteres:

Len(StrEx)

A função InStrRev do VBA procura uma substring dentro de uma string e retorna o número da posição da substring. Ela inicia a pesquisa a partir do final da frase (da direita para a esquerda), mas retorna a posição a partir do início da cadeia de caracteres (da esquerda para a direita).

InStrRev(StrEx, " ")

Ao combinar as funções, podemos extrair a parte após o último espaço de uma frase:

Sub RightExemplo_6()
Dim StrEx As String 'Definir uma variável de cadeia de caracteres

StrEx = "Luke Skywalker"
MsgBox Right(StrEx, Len(StrEx) - InStrRev(StrEx, " "))
'O resultado é: "Skywalker"

StrEx = "Leonardo da Vinci"
MsgBox Right(StrEx, Len(StrEx) - InStrRev(StrEx, " "))
'O resultado é: "Vinci"

StrEx = "Que a Força esteja com você"
MsgBox Right(StrEx, Len(StrEx) - InStrRev(StrEx, " "))
'O resultado é: "você"
End Sub
vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA