Acest tutorial va arăta cum să utilizați funcția InStrRev VBA pentru a găsi text din dreapta …
Funcția InStrRev
Funcția VBA InStrRev caută poziția unui șir sub un șir. Revine poziția numărând de la stânga la dreapta, dar efectuează căutarea de la sfârșitul șirului până la început.
VBA InStrRev Find Substring
Funcția VBA InStrRev poate fi utilizată pentru a găsi poziția unui șir sub un șir.
12345678 | Sub InStrRevExample_1 ()MsgBox InStrRev ("ABCABC", "C") 'Rezultatul este: 6MsgBox InStrRev ("ABCABC", "BC") 'Rezultatul este: 5MsgBox InStrRev ("La La Land", "L") 'Rezultatul este: 7MsgBox InStrRev ("La La Land", "La") 'Rezultatul este: 7MsgBox InStrRev ("La La Land", "La") 'Rezultatul este: 4MsgBox InStrRev ("La La Land", "M") 'Rezultatul este: 0Sfârșitul Sub |
Poziția inițială VBA InStrRev
Funcția VBA InStrRev poate începe căutarea unui șir dintr-o poziție atribuită numărată de la stânga la dreapta.
12345678 | Sub InStrRevExample_2 ()MsgBox InStrRev ("La La Land", "L") 'Rezultatul este: 7MsgBox InStrRev ("La La Land", "L", 8) 'Rezultatul este: 7MsgBox InStrRev ("La La Land", "L", 7) 'Rezultatul este: 7MsgBox InStrRev ("La La Land", "L", 6) 'Rezultatul este: 4MsgBox InStrRev ("La La Land", "L", 4) 'Rezultatul este: 4MsgBox InStrRev ("La La Land", "L", 3) 'Rezultatul este: 1Sfârșitul Sub |
Programare VBA | Generatorul de coduri funcționează pentru dvs.!
VBA InStrRev Case Sensitivity
Funcția VBA InStrRev în mod implicit este sensibilă la majuscule și minuscule. Puteți schimba acest comportament pentru a nu face sensibilitate la majuscule și minuscule folosind un parametru opțional. În acest caz, trebuie să definiți și poziția inițială a căutării.
123456789 | Sub InStrRevExample_3 ()„InstrRev implicit este sensibil la majuscule și minusculeMsgBox InStrRev ("La La Land", "L") 'Rezultatul este: 7MsgBox InStrRev ("La La Land", "l") 'Rezultatul este: 0'InstrRev poate efectua căutări care să nu distingă majusculeleMsgBox InStrRev ("La La Land", "L", -1, vbTextCompare) 'Rezultatul este: 7MsgBox InStrRev ("La La Land", "l", -1, vbTextCompare) 'Rezultatul este: 7Sfârșitul Sub |
VBA InStrRev Last Space
Funcția VBA InStrRev poate găsi poziția ultimului spațiu dintr-un șir.
123456789 | Sub InStrRevExample_4 ()MsgBox InStrRev ("La La Land", "")„Rezultatul este: 6MsgBox InStrRev („Leonardo da Vinci”, „„)„Rezultatul este: 12MsgBox InStrRev („Fie ca forța să fie cu tine”, „„)„Rezultatul este: 22Sfârșitul Sub |
VBA InStrRev Second to Last Space
Funcția VBA InStrRev poate găsi poziția celui de-al doilea până la ultimul spațiu dintr-un șir. Putem folosi funcția VBA InStrRev pentru a găsi ultimul spațiu dintr-un șir și apoi putem folosi din nou InStrRev cu un nou punct de plecare pentru a găsi poziția celui de-al doilea până la ultimul spațiu
12345678910111213 | Sub InStrRevExample_5 ()Dim LastPos ca întregLastPos = InStrRev („Fie ca forța să fie cu tine”, „”)Rezultatul MsgBox LastPos este: 22Dim SecondLastPos Ca întregSecondLastPos = InStrRev ("Fie ca forța să fie cu tine", "", LastPos - 1)Rezultatul MsgBox SecondLastPos este: 17„InStrRev a început căutarea spațiului chiar înainte de ultimul spațiu„Va găsi al doilea până la ultimul spațiu, deoarece caută de la dreapta la stângaSfârșitul Sub |
V-ați săturat să căutați exemple de cod VBA? Încercați AutoMacro!
VBA InStrRev Returnează numele fișierului
Funcția VBA InStrRev poate fi utilizată pentru a returna cu ușurință numele fișierului dintr-un șir care conține calea și numele fișierului. Vom folosi funcția InStrRev cu funcțiile VBA Len și VBA Right.
Funcția VBA Len returnează lungimea unui șir:
1 | MsgBox Len („XBCX”) 'Rezultatul este: 4 |
Funcția VBA dreaptă returnează n caractere de la sfârșitul unui șir:
1 | MsgBox Right ("ABCDE", 2) 'Rezultatul este: DE |
Putem folosi funcția InStrRev pentru a găsi ultima apariție a „\” în calea de acces și putem folosi funcția Len pentru a calcula lungimea numelui fișierului. Dreapta poate extrage apoi numele fișierului.
12345678910111213141516171819202122232425262728 | Sub InStrRevExample_4 ()Dim PathEx Ca șirPathEx = "C: \ MyFiles \ Other \ UsefulFile.pdf"Dim FilenameEx As StringFilenameEx = Right (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))Rezultatul MsgBox FilenameEx este: UsefulFile.pdf„Să descompunem acest codMsgBox Len (PathEx)„Aceasta este lungimea numelui căii (31)MsgBox InStrRev (PathEx, "\")'Aceasta este poziția ultimului \ din șirMsgBox Len (PathEx) - InStrRev (PathEx, "\")„Aceasta este lungimea numelui fișierului (14)„Diferența dintre lungimea completă și poziția ultimului șir'(31-27 = 14)„Acum știm lungimea numelui fișierului și, desigur, este la sfârșit„Funcția corectă este ideală pentru această situațieFilenameEx = Right (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))Sfârșitul Sub |