Fonction VBA InStrRev - Rechercher du texte à partir de la droite

Table des matières

Ce tutoriel montrera comment utiliser la fonction InStrRev VBA pour rechercher du texte à partir de la droite…

Fonction InStrRev

La fonction VBA InStrRev recherche la position d'une sous-chaîne dans une chaîne. Il renvoie la position en comptant de gauche à droite mais effectue la recherche de la fin de la chaîne au début.

VBA InStrRev Rechercher une sous-chaîne

La fonction VBA InStrRev peut être utilisée pour trouver la position d'une sous-chaîne à l'intérieur d'une chaîne.

12345678 Sub InStrRevExample_1()MsgBox InStrRev("ABCABC", "C") 'Le résultat est : 6MsgBox InStrRev("ABCABC", "BC") 'Le résultat est : 5MsgBox InStrRev("La La Land", "L") 'Le résultat est : 7MsgBox InStrRev("La La Land", "La") 'Le résultat est : 7MsgBox InStrRev("La La Land", "La ") 'Le résultat est : 4MsgBox InStrRev("La La Land", "M") 'Le résultat est : 0Fin du sous-marin

Position de départ VBA InStrRev

La fonction VBA InStrRev peut lancer la recherche d'une sous-chaîne à partir d'une position attribuée comptée de gauche à droite.

12345678 Sous InStrRevExample_2()MsgBox InStrRev("La La Land", "L") 'Le résultat est : 7MsgBox InStrRev("La La Land", "L", 8) 'Le résultat est : 7MsgBox InStrRev("La La Land", "L", 7) 'Le résultat est : 7MsgBox InStrRev("La La Land", "L", 6) 'Le résultat est : 4MsgBox InStrRev("La La Land", "L", 4) 'Le résultat est : 4MsgBox InStrRev("La La Land", "L", 3) 'Le résultat est : 1Fin du sous-marin

Programmation VBA | Le générateur de code fonctionne pour vous !

Sensibilité à la casse VBA InStrRev

La fonction VBA InStrRev par défaut est sensible à la casse. Vous pouvez modifier ce comportement en insensible à la casse à l'aide d'un paramètre facultatif. Dans ce cas, vous devez également définir la position de départ de la recherche.

123456789 Sous InStrRevExample_3()'InstrRev par défaut est sensible à la casseMsgBox InStrRev("La La Land", "L") 'Le résultat est : 7MsgBox InStrRev("La La Land", "l") 'Le résultat est : 0'InstrRev peut effectuer des recherches insensibles à la casseMsgBox InStrRev("La La Land", "L", -1, vbTextCompare) 'Le résultat est : 7MsgBox InStrRev("La La Land", "l", -1, vbTextCompare) 'Le résultat est : 7Fin du sous-marin

VBA InStrRev Dernier espace

La fonction VBA InStrRev peut trouver la position du dernier espace dans une chaîne.

123456789 Sous InStrRevExample_4()MsgBox InStrRev("La La Land", " ")'Le résultat est : 6MsgBox InStrRev("Léonard de Vinci", " ")'Le résultat est : 12MsgBox InStrRev("Que la Force soit avec vous", " ")'Le résultat est : 22Fin du sous-marin

VBA InStrRev avant-dernier espace

La fonction VBA InStrRev peut trouver la position de l'avant-dernier espace dans une chaîne. Nous pouvons utiliser la fonction VBA InStrRev pour trouver le dernier espace dans une chaîne, puis nous pouvons utiliser à nouveau InStrRev avec un nouveau point de départ pour trouver la position de l'avant-dernier espace

12345678910111213 Sous InStrRevExample_5()Dim LastPos en tant qu'entierLastPos = InStrRev("Que la Force soit avec vous", " ")Le résultat de MsgBox LastPos est : 22Dim SecondLastPos en tant qu'entierSecondLastPos = InStrRev("Que la Force soit avec vous", " ", LastPos - 1)MsgBox SecondLastPos 'Le résultat est : 17'InStrRev a commencé la recherche d'espace juste avant le dernier espace'Il trouvera l'avant-dernier espace car il recherche de droite à gaucheFin du sous-marin

Fatigué de rechercher des exemples de code VBA ? Essayez AutoMacro !

Nom de fichier de retour VBA InStrRev

La fonction VBA InStrRev peut être utilisée pour renvoyer facilement le nom de fichier à partir d'une chaîne contenant le chemin et le nom de fichier. Nous utiliserons la fonction InStrRev avec les fonctions VBA Len et VBA Right.

La fonction VBA Len renvoie la longueur d'une chaîne :

1 MsgBox Len("XBCX") 'Le résultat est : 4

La fonction VBA Right renvoie n caractères à partir de la fin d'une chaîne :

1 MsgBox Right("ABCDE", 2) 'Le résultat est : DE

Nous pouvons utiliser la fonction InStrRev pour trouver la dernière occurrence de "\" dans le nom de chemin et utiliser la fonction Len pour calculer la longueur du nom de fichier. Right peut alors extraire le nom du fichier.

12345678910111213141516171819202122232425262728 Sous InStrRevExample_4()Dim PathEx en tant que chaînePathEx = "C:\MyFiles\Other\UsefulFile.pdf"Dim FilenameEx As StringFilenameEx = Right(PathEx, Len(PathEx) - InStrRev(PathEx, "\"))MsgBox FilenameEx 'Le résultat est : UsefulFile.pdf'Décomposons ce codeMsgBox Len(PathEx)'Il s'agit de la longueur du nom de chemin (31)MsgBox InStrRev(CheminEx, "\")'C'est la position du dernier \ dans la chaîneMsgBox Len(CheminEx) - InStrRev(CheminEx, "\")'Ceci est la longueur du nom de fichier (14)'La différence entre la longueur totale et la position du dernier \ dans la chaîne'(31-27=14)'Maintenant nous connaissons la longueur du nom de fichier et bien sûr c'est à la fin« La bonne fonction est idéale pour cette situationFilenameEx = Right(PathEx, Len(PathEx) - InStrRev(PathEx, "\"))Fin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave