Funkce VBA InStrRev - Najděte text zprava

Tento tutoriál předvede, jak pomocí funkce InStrRev VBA najít text z pravého…

Funkce InStrRev

Funkce VBA InStrRev vyhledává pozici podřetězce uvnitř řetězce. Vrací počítání pozic zleva doprava, ale provádí vyhledávání od konce řetězce na začátek.

VBA InStrRev Najít podřetězec

Funkci VBA InStrRev lze použít k nalezení polohy podřetězce uvnitř řetězce.

12345678 Sub InStrRevExample_1 ()Výsledek MsgBox InStrRev ("ABCABC", "C") je: 6MsgBox InStrRev ("ABCABC", "BC") 'Výsledek je: 5MsgBox InStrRev ("La La Land", "L") 'Výsledek je: 7MsgBox InStrRev ("La La Land", "La") 'Výsledek je: 7MsgBox InStrRev ("La La Land", "La") 'Výsledek je: 4Výsledek MsgBox InStrRev („La La Land“, „M“) je: 0End Sub

Výchozí pozice VBA InStrRev

Funkce VBA InStrRev může spustit hledání podřetězce z přiřazené pozice počítané zleva doprava.

12345678 Sub InStrRevExample_2 ()MsgBox InStrRev ("La La Land", "L") 'Výsledek je: 7MsgBox InStrRev („La La Land“, „L“, 8) Výsledek je: 7MsgBox InStrRev ("La La Land", "L", 7) 'Výsledek je: 7MsgBox InStrRev ("La La Land", "L", 6) 'Výsledek je: 4MsgBox InStrRev („La La Land“, „L“, 4) Výsledek je: 4MsgBox InStrRev („La La Land“, „L“, 3) Výsledkem je: 1End Sub

Programování VBA | Generátor kódu pracuje pro vás!

Citlivost na malá a velká písmena VBA InStrRev

Funkce VBA InStrRev ve výchozím nastavení rozlišuje velká a malá písmena. Toto chování můžete změnit na malá a velká písmena pomocí volitelného parametru. V takovém případě musíte také definovat počáteční pozici hledání.

123456789 Sub InStrRevExample_3 ()„InstrRev ve výchozím nastavení rozlišuje velká a malá písmenaMsgBox InStrRev ("La La Land", "L") 'Výsledek je: 7MsgBox InStrRev ("La La Land", "l") 'Výsledek je: 0„InstrRev může provádět vyhledávání nerozlišující malá a velká písmenaMsgBox InStrRev ("La La Land", "L", -1, vbTextCompare) 'Výsledek je: 7MsgBox InStrRev ("La La Land", "l", -1, vbTextCompare) 'Výsledek je: 7End Sub

Poslední prostor VBA InStrRev

Funkce VBA InStrRev dokáže najít pozici posledního místa v řetězci.

123456789 Sub InStrRevExample_4 ()MsgBox InStrRev ("La La Land", "")„Výsledek je: 6MsgBox InStrRev ("Leonardo da Vinci", "")„Výsledek je: 12MsgBox InStrRev („Ať je síla s tebou“, „“)„Výsledek je: 22End Sub

VBA InStrRev předposlední mezera

Funkce VBA InStrRev dokáže najít pozici předposledního prostoru v řetězci. Můžeme použít funkci VBA InStrRev k nalezení posledního místa v řetězci a poté můžeme znovu použít InStrRev s novým počátečním bodem k nalezení polohy předposledního prostoru

12345678910111213 Sub InStrRevExample_5 ()Dim LastPos jako celé čísloLastPos = InStrRev („Ať je síla s tebou“, „“)Výsledek MsgBox LastPos je: 22Dim SecondLastPos jako celé čísloSecondLastPos = InStrRev („Ať je síla s tebou“, „“, LastPos - 1)Výsledek MsgBox SecondLastPos je: 17„InStrRev zahájil hledání prostoru těsně před posledním mezerou„Najde předposlední mezeru, protože hledá zprava dolevaEnd Sub

Už vás nebaví hledat příklady kódu VBA? Zkuste AutoMacro!

VBA InStrRev návratové jméno souboru

Pomocí funkce VBA InStrRev lze snadno vrátit název souboru z řetězce, který obsahuje cestu a název souboru. Použijeme funkci InStrRev s funkcemi VBA Len a VBA Right.

Funkce VBA Len vrací délku řetězce:

1 Výsledek MsgBox Len ("XBCX") je: 4

Funkce VBA Right vrací n znaků z konce řetězce:

1 MsgBox Right ("ABCDE", 2) 'Výsledkem je: DE

Můžeme použít funkci InStrRev k nalezení posledního výskytu „\“ v názvu cesty a pomocí funkce Len vypočítat délku názvu souboru. Vpravo pak můžete extrahovat název souboru.

12345678910111213141516171819202122232425262728 Sub InStrRevExample_4 ()Dim PathEx jako řetězecPathEx = "C: \ MyFiles \ Other \ UsefulFile.pdf"Dim FilenameEx jako řetězecFilenameEx = Right (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))Výsledek MsgBox FilenameEx je: UsefulFile.pdf„Pojďme rozebrat tento kódMsgBox Len (PathEx)„Toto je délka názvu cesty (31)MsgBox InStrRev (PathEx, "\")„Toto je pozice posledního \ v řetězciMsgBox Len (PathEx) - InStrRev (PathEx, "\")„Toto je délka názvu souboru (14)'Rozdíl mezi plnou délkou a polohou posledního \ v řetězci“(31–27 = 14)"Nyní známe délku názvu souboru a samozřejmě je na konci."„Správná funkce je pro tuto situaci ideálníFilenameEx = Right (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))End Sub
wave wave wave wave wave