Denne opplæringen vil demonstrere hvordan du bruker InStrRev VBA -funksjonen til å finne tekst fra høyre …
InStrRev -funksjon
VBA InStrRev -funksjonen søker etter posisjonen til en delstreng inne i en streng. Den returnerer posisjonstellingen fra venstre til høyre, men den utfører søket fra slutten av strengen til begynnelsen.
VBA InStrRev Finn understring
VBA InStrRev -funksjonen kan brukes til å finne posisjonen til en delstreng inne i en streng.
12345678 | Sub InStrRevExample_1 ()MsgBox InStrRev ("ABCABC", "C") 'Resultat er: 6MsgBox InStrRev ("ABCABC", "BC") 'Resultat er: 5MsgBox InStrRev ("La La Land", "L") 'Resultat er: 7MsgBox InStrRev ("La La Land", "La") 'Resultat er: 7MsgBox InStrRev ("La La Land", "La") 'Resultat er: 4MsgBox InStrRev ("La La Land", "M") 'Resultat er: 0Slutt Sub |
VBA InStrRev Startposisjon
VBA InStrRev -funksjon kan starte søket etter en delstreng fra en tildelt posisjon talt fra venstre til høyre.
12345678 | Sub InStrRevExample_2 ()MsgBox InStrRev ("La La Land", "L") 'Resultat er: 7MsgBox InStrRev ("La La Land", "L", 8) 'Resultat er: 7MsgBox InStrRev ("La La Land", "L", 7) 'Resultat er: 7MsgBox InStrRev ("La La Land", "L", 6) 'Resultat er: 4MsgBox InStrRev ("La La Land", "L", 4) 'Resultat er: 4MsgBox InStrRev ("La La Land", "L", 3) 'Resultat er: 1Slutt Sub |
VBA -programmering | Kodegenerator fungerer for deg!
VBA InStrRev Case Sensitivity
VBA InStrRev -funksjonen er som standard store og små bokstaver. Du kan endre denne oppførselen til store og små bokstaver med en valgfri parameter. I så fall må du også definere startposisjonen for søket.
123456789 | Sub InStrRevExample_3 ()'InstrRev er som standard skift mellom store og små bokstaverMsgBox InStrRev ("La La Land", "L") 'Resultat er: 7MsgBox InStrRev ("La La Land", "l") 'Resultat er: 0'InstrRev kan utføre store og små bokstaverMsgBox InStrRev ("La La Land", "L", -1, vbTextCompare) 'Resultat er: 7MsgBox InStrRev ("La La Land", "l", -1, vbTextCompare) 'Resultat er: 7Slutt Sub |
VBA InStrRev Last Space
VBA InStrRev -funksjon kan finne posisjonen til det siste mellomrommet i en streng.
123456789 | Sub InStrRevExample_4 ()MsgBox InStrRev ("La La Land", "")'Resultatet er: 6MsgBox InStrRev ("Leonardo da Vinci", "")'Resultatet er: 12MsgBox InStrRev ("Må kraften være med deg", "")'Resultatet er: 22Slutt Sub |
VBA InStrRev Second to Last Space
VBA InStrRev -funksjonen kan finne posisjonen til det nest siste rommet i en streng. Vi kan bruke VBA InStrRev -funksjonen til å finne det siste mellomrommet i en streng, og så kan vi bruke InStrRev igjen med et nytt utgangspunkt for å finne posisjonen til det nest siste rommet
12345678910111213 | Sub InStrRevExample_5 ()Dim LastPos som heltallLastPos = InStrRev ("Må kraften være med deg", "")MsgBox LastPos 'resultat er: 22Dim SecondLastPos som heltallSecondLastPos = InStrRev ("May the Force be with you", "", LastPos - 1)MsgBox SecondLastPos 'resultat er: 17'InStrRev startet søket etter plass rett før den siste plassen'Den vil finne den nest siste plassen fordi den søker fra høyre til venstreSlutt Sub |
Lei av å søke etter eksempler på VBA -kode? Prøv AutoMacro!
VBA InStrRev Returner filnavn
VBA InStrRev -funksjonen kan brukes til enkelt å returnere filnavnet fra en streng som inneholder banen og filnavnet. Vi vil bruke InStrRev -funksjonen med funksjonene VBA Len og VBA Right.
VBA Len -funksjon returnerer lengden på en streng:
1 | MsgBox Len ("XBCX") 'Resultat er: 4 |
VBA Høyre -funksjon returnerer n tegn fra slutten av en streng:
1 | MsgBox Høyre ("ABCDE", 2) 'Resultat er: DE |
Vi kan bruke InStrRev -funksjonen til å finne den siste forekomsten av "\" i banenavnet og bruke Len -funksjonen til å beregne lengden på filnavnet. Høyre kan deretter trekke ut filnavnet.
12345678910111213141516171819202122232425262728 | Sub InStrRevExample_4 ()Dim PathEx som strengPathEx = "C: \ MyFiles \ Other \ UsefulFile.pdf"Dim filnavnEx som strengFilnavnEx = Høyre (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))MsgBox FilenameEx 'resultat er: UsefulFile.pdf'La oss bryte ned denne kodenMsgBox Len (PathEx)'Dette er lengden på banenavnet (31)MsgBox InStrRev (PathEx, "\")'Dette er posisjonen til den siste \ i strengenMsgBox Len (PathEx) - InStrRev (PathEx, "\")'Dette er lengden på filnavnet (14)'Forskjellen mellom hele lengden og plasseringen av den siste \ i strengen'(31-27 = 14)'Nå vet vi lengden på filnavnet, og selvfølgelig er det på slutten'Riktig funksjon er ideell for denne situasjonenFilnavnEx = Høyre (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))Slutt Sub |