Ta vadnica bo pokazala, kako uporabiti funkcijo InStrRev VBA za iskanje besedila na desni …
Funkcija InStrRev
Funkcija VBA InStrRev išče položaj podniz v nizu. Vrne štetje pozicij od leve proti desni, vendar izvede iskanje od konca niza do začetka.
VBA InStrRev Najdi podniz
Funkcijo VBA InStrRev lahko uporabite za iskanje položaja podniz v nizu.
12345678 | Sub InStrRevExample_1 ()MsgBox InStrRev ("ABCABC", "C") 'Rezultat je: 6MsgBox InStrRev ("ABCABC", "BC") 'Rezultat je: 5MsgBox InStrRev ("La La Land", "L") 'Rezultat je: 7MsgBox InStrRev ("La La Land", "La") 'Rezultat je: 7MsgBox InStrRev ("La La Land", "La") 'Rezultat je: 4MsgBox InStrRev ("La La Land", "M") 'Rezultat je: 0End Sub |
VBA InStrRev Začetni položaj
Funkcija VBA InStrRev lahko začne iskanje podniz z dodeljenega položaja, štetega od leve proti desni.
12345678 | Sub InStrRevExample_2 ()MsgBox InStrRev ("La La Land", "L") 'Rezultat je: 7MsgBox InStrRev ("La La Land", "L", 8) 'Rezultat je: 7MsgBox InStrRev ("La La Land", "L", 7) "Rezultat je: 7MsgBox InStrRev ("La La Land", "L", 6) "Rezultat je: 4MsgBox InStrRev ("La La Land", "L", 4) 'Rezultat je: 4MsgBox InStrRev ("La La Land", "L", 3) 'Rezultat je: 1End Sub |
Programiranje VBA | Generator kod deluje za vas!
Občutljivost velikih in malih črk VBA InStrRev
Funkcija VBA InStrRev privzeto razlikuje velike in male črke. To vedenje lahko z neobveznim parametrom spremenite na velike in male črke. V tem primeru morate določiti tudi začetni položaj iskanja.
123456789 | Sub InStrRevExample_3 ()'InstrRev privzeto razlikuje velike in male črkeMsgBox InStrRev ("La La Land", "L") 'Rezultat je: 7MsgBox InStrRev ("La La Land", "l") 'Rezultat je: 0'InstrRev lahko izvede iskanje, neobčutljivo na velike in male črkeMsgBox InStrRev ("La La Land", "L", -1, vbTextCompare) "Rezultat je: 7MsgBox InStrRev ("La La Land", "l", -1, vbTextCompare) "Rezultat je: 7End Sub |
VBA InStrRev Zadnji presledek
Funkcija VBA InStrRev lahko najde položaj zadnjega presledka v nizu.
123456789 | Sub InStrRevExample_4 ()MsgBox InStrRev ("La La Land", "")"Rezultat je: 6MsgBox InStrRev ("Leonardo da Vinci", "")"Rezultat je: 12MsgBox InStrRev ("Naj bo sila z vami", "")"Rezultat je: 22End Sub |
VBA InStrRev Drugi do zadnji prostor
Funkcija VBA InStrRev lahko najde položaj drugega do zadnjega presledka v nizu. S funkcijo VBA InStrRev lahko poiščemo zadnji prostor v nizu, nato pa lahko znova uporabimo InStrRev z novim izhodiščem za iskanje položaja drugega do zadnjega presledka
12345678910111213 | Sub InStrRevExample_5 ()Zatemni LastPos kot celo številoLastPos = InStrRev ("Naj bo sila z vami", "")Rezultat MsgBox LastPos je: 22Zatemni SecondLastPos kot celo številoSecondLastPos = InStrRev ("Naj bo sila z vami", "", LastPos - 1)Rezultat MsgBox SecondLastPos je: 17"InStrRev je začel iskanje prostora tik pred zadnjim presledkom"Našel bo predzadnji prostor, ker išče od desne proti leviEnd Sub |
Utrujen od iskanja primerov kode VBA? Preizkusite AutoMacro!
VBA InStrRev Vrni ime datoteke
Funkcijo VBA InStrRev lahko preprosto uporabite za vrnitev imena datoteke iz niza, ki vsebuje pot in ime datoteke. Uporabili bomo funkcijo InStrRev s funkcijami VBA Len in VBA Right.
VBA Len funkcija vrne dolžino niza:
1 | MsgBox Len ("XBCX") 'Rezultat je: 4 |
Funkcija VBA Right vrne n znakov s konca niza:
1 | MsgBox desno ("ABCDE", 2) 'Rezultat je: DE |
S funkcijo InStrRev lahko poiščemo zadnji pojav "\" v imenu poti in s funkcijo Len izračunamo dolžino imena datoteke. Desna lahko nato izvleče ime datoteke.
12345678910111213141516171819202122232425262728 | Sub InStrRevExample_4 ()Zatemni PathEx kot nizPathEx = "C: \ MyFiles \ Other \ UsefulFile.pdf"Zatemni ime datotekeEx kot nizFilenameEx = Desno (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))Rezultat MsgBox FilenameEx je: UsefulFile.pdf"Razčlenimo to kodoMsgBox Len (PathEx)'To je dolžina imena poti (31)MsgBox InStrRev (PathEx, "\")'To je položaj zadnjega \ in nizaMsgBox Len (PathEx) - InStrRev (PathEx, "\")'To je dolžina imena datoteke (14)'Razlika med celotno dolžino in položajem zadnje \ v nizu'(31-27 = 14)"Zdaj vemo, kako dolga je ime datoteke, in seveda je na koncu„Prava funkcija je idealna za to situacijoFilenameEx = Desno (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))End Sub |