Deze zelfstudie laat zien hoe u de InStrRev VBA-functie gebruikt om tekst van de juiste …
InStrRev-functie
De VBA InStrRev-functie zoekt naar de positie van een subtekenreeks binnen een tekenreeks. Het geeft de positie terug van links naar rechts, maar het zoekt vanaf het einde van de tekenreeks naar het begin.
VBA InStrRev Subtekenreeks zoeken
De VBA InStrRev-functie kan worden gebruikt om de positie van een subtekenreeks in een tekenreeks te vinden.
12345678 | Sub InStrRevExample_1()MsgBox InStrRev("ABCABC", "C") 'Resultaat is: 6MsgBox InStrRev("ABCABC", "BC") 'Resultaat is: 5MsgBox InStrRev ("La La Land", "L") 'Resultaat is: 7MsgBox InStrRev("La La Land", "La") 'Resultaat is: 7MsgBox InStrRev("La La Land", "La") 'Resultaat is: 4MsgBox InStrRev ("La La Land", "M") 'Resultaat is: 0Einde sub |
VBA InStrRev-startpositie
VBA InStrRev-functie kan het zoeken naar een subtekenreeks starten vanaf een toegewezen positie, geteld van links naar rechts.
12345678 | Sub InStrRevExample_2()MsgBox InStrRev ("La La Land", "L") 'Resultaat is: 7MsgBox InStrRev("La La Land", "L", 8) 'Resultaat is: 7MsgBox InStrRev("La La Land", "L", 7) 'Resultaat is: 7MsgBox InStrRev("La La Land", "L", 6) 'Resultaat is: 4MsgBox InStrRev("La La Land", "L", 4) 'Resultaat is: 4MsgBox InStrRev("La La Land", "L", 3) 'Resultaat is: 1Einde sub |
VBA-programmering | Code Generator werkt voor u!
VBA InStrRev Hoofdlettergevoeligheid
VBA InStrRev-functie is standaard hoofdlettergevoelig. U kunt dat gedrag wijzigen in hoofdletterongevoelig met behulp van een optionele parameter. In dat geval moet u ook de startpositie van de zoekopdracht definiëren.
123456789 | Sub InStrRevExample_3()'InstrRev is standaard hoofdlettergevoeligMsgBox InStrRev ("La La Land", "L") 'Resultaat is: 7MsgBox InStrRev("La La Land", "l") 'Resultaat is: 0'InstrRev kan hoofdletterongevoelige zoekopdrachten uitvoeren'MsgBox InStrRev("La La Land", "L", -1, vbTextCompare) 'Resultaat is: 7MsgBox InStrRev("La La Land", "l", -1, vbTextCompare) 'Resultaat is: 7Einde sub |
VBA InStrRev Laatste spatie
VBA InStrRev-functie kan de positie van de laatste spatie in een tekenreeks vinden.
123456789 | Sub InStrRevExample_4()MsgBox InStrRev("La La Land", " ")'Resultaat is: 6MsgBox InStrRev("Leonardo da Vinci", " ")'Resultaat is: 12MsgBox InStrRev("Moge de Force bij je zijn", " ")'Resultaat is: 22Einde sub |
VBA InStrRev Tweede tot laatste spatie
De VBA InStrRev-functie kan de positie van de voorlaatste spatie in een tekenreeks vinden. We kunnen de VBA InStrRev-functie gebruiken om de laatste spatie in een string te vinden en dan kunnen we InStrRev opnieuw gebruiken met een nieuw startpunt om de positie van de voorlaatste spatie te vinden
12345678910111213 | Sub InStrRevExample_5()Dim LastPos als geheel getalLastPos = InStrRev("Moge de Force bij je zijn", " ")MsgBox LastPos 'Resultaat is: 22Dim SecondLastPos As IntegerSecondLastPos = InStrRev("Moge de Force bij je zijn", " ", LastPos - 1)MsgBox SecondLastPos 'Resultaat is: 17'InStrRev begon het zoeken naar ruimte net voor de laatste spatie''Het vindt de voorlaatste spatie omdat het van rechts naar links zoektEinde sub |
Moe van het zoeken naar voorbeelden van VBA-codes? Probeer AutoMacro!
VBA InStrRev Bestandsnaam retourneren
De VBA InStrRev-functie kan worden gebruikt om eenvoudig de bestandsnaam te retourneren van een tekenreeks die het pad en de bestandsnaam bevat. We zullen de InStrRev-functie gebruiken met de functies VBA Len en VBA Right.
VBA Len-functie retourneert de lengte van een string:
1 | MsgBox Len("XBCX") 'Resultaat is: 4 |
VBA Right-functie retourneert n tekens vanaf het einde van een string:
1 | MsgBox Right("ABCDE", 2) 'Resultaat is: DE |
We kunnen de InStrRev-functie gebruiken om het laatste voorkomen van "\" in de padnaam te vinden en de Len-functie gebruiken om de lengte van de bestandsnaam te berekenen. Rechts kan dan de bestandsnaam uitpakken.
12345678910111213141516171819202122232425262728 | Sub InStrRevExample_4()Dim PathEx als stringPathEx = "C:\MijnBestanden\Other\UsefulFile.pdf"Dim BestandsnaamEx As StringBestandsnaamEx = Rechts(PathEx, Len(PathEx) - InStrRev(PathEx, "\"))MsgBox FilenameEx 'Resultaat is: UsefulFile.pdf'Laten we deze code opsplitsen'MsgBox Len (PathEx)'Dit is de lengte van de padnaam (31)MsgBox InStrRev(PathEx, "\")'Dit is de positie van de laatste \ in string'MsgBox Len(PathEx) - InStrRev(PathEx, "\")'Dit is de lengte van de bestandsnaam (14)'Het verschil tussen de volledige lengte en de positie van de laatste \ in string'(31-27=14)'Nu weten we de lengte van de bestandsnaam en die staat natuurlijk aan het einde''De juiste functie is ideaal voor deze situatie'BestandsnaamEx = Rechts(PathEx, Len(PathEx) - InStrRev(PathEx, "\"))Einde sub |