Tento tutoriál ukáže, ako používať funkciu VBA vpravo na extrahovanie textu sprava.
Správna funkcia
Pravá funkcia VBA Posledných n znakov
Funkcia VBA Right vracia posledných n znakov z reťazca:
123456 | Sub RightPriklad_1 ()MsgBox Right („ABCDEFGHI“, 4) Výsledok je: „FGHI“MsgBox Right ("ABCDEFGHI", 2) 'Výsledok je:' HI 'MsgBox Right („ABCDEFGHI“, 1) 'Výsledok je: „I“MsgBox Right („ABCDEFGHI“, 100) Výsledok je: „ABCDEFGHI“Koniec pod |
Pravá funkcia VBA Posledná n znakov v premennej
Ako je uvedené vyššie, reťazec môžete definovať jednoducho zadaním textu do úvodzoviek. Funkcia RIGHT však bude fungovať aj s reťazcovými premennými. Tieto príklady extrahujú posledných n znakov z reťazcovej premennej.
123456789 | Sub RightPriklad_2 ()Dim StrEx As String 'Definujte premennú reťazcaStrEx = "ABCDEFGHI"MsgBox Right (StrEx, 4) 'Výsledok je: "FGHI"MsgBox Right (StrEx, 2) 'Výsledok je: "HI"MsgBox Right (StrEx, 1) 'Výsledok je: „I“MsgBox Right (StrEx, 100) 'Výsledok je: "ABCDEFGHI"Koniec pod |
Programovanie VBA | Generátor kódu pracuje za vás!
Správna funkcia VBA Posledná n znakov z bunky
Reťazce je možné definovať v kóde VBA, ale môžete použiť aj hodnoty z buniek. Prečítajte si hodnotu bunky, uložte ju do reťazcovej premennej a extrahujte posledných n znakov z hodnoty bunky pracovného hárka.
123456789101112 | Sub RightPriklad_3 ()Dim StrEx As String 'Definujte premennú reťazca„Prečítajte si hodnotu bunky A1 v pracovnom hárku List1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A1"). Value„V tomto prípade je hodnota bunky A1„ ABCDEFG hI “MsgBox Right (StrEx, 4) 'Výsledok je: "G hI"MsgBox Right (StrEx, 2) 'Výsledok je: "hI"MsgBox Right (StrEx, 1) 'Výsledok je: „I“MsgBox Right (StrEx, 100) 'Výsledok je: "ABCDEFG hI"Koniec pod |
Správna funkcia VBA skráti prvé písmeno
Ak chcete odstrániť písmená zo začiatku reťazca, použite funkciu DOPRAVA spolu s funkciou LEN.
Funkcia VBA LEN počíta počet znakov v reťazci:
1 | Len (StrEx) |
Kombináciou funkcií môžeme zo začiatku reťazca odstrániť určitý počet znakov:
12345678 | Sub RightPriklad_4 ()Dim StrEx As String 'Definujte premennú reťazcaStrEx = "ABCDEF"MsgBox Right (StrEx, Len (StrEx)) 'Výsledok je: "ABCDEF"MsgBox Right (StrEx, Len (StrEx) - 1) 'Výsledok je: "BCDEF"MsgBox Right (StrEx, Len (StrEx) - 2) 'Výsledok je: "CDEF"Koniec pod |
VBA právo extrahovať text za medzerou
Ak chcete extrahovať priezvisko z reťazca s celým menom, použite správnu funkciu spolu s funkciami Len a Instr.
Funkcia VBA LEN počíta počet znakov v reťazci:
1 | Len (StrEx) |
Funkcia VBA InStr vyhľadá podreťazec vo vnútri reťazca a vráti číslo pozície podreťazca.
1 | InStr (StrEx, "") |
Kombináciou funkcií môžeme z frázy extrahovať časť za prvým medzerou:
123456789101112131415 | Sub RightPriklad_5 ()Dim StrEx As String 'Definujte premennú reťazcaStrEx = "Luke Skywalker"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))Výsledok je: „Skywalker“StrEx = "Leonardo da Vinci"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))Výsledok je „da Vinci“StrEx = „Nech je sila s vami“MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))Výsledok je: „Sila s vami“Koniec pod |
Ste unavení z hľadania príkladov kódu VBA? Skúste AutoMacro!
VBA právo extrahovať posledné slovo
Ak chcete extrahovať posledné slovo z reťazca pomocou frázy, použite správnu funkciu spolu s funkciou Len a InstrRev.
Ako sme videli vyššie, funkcia VBA LEN počíta počet znakov v reťazci:
1 | Len (StrEx) |
Funkcia VBA InStrRev vyhľadá podreťazec vo vnútri reťazca a vráti číslo pozície podreťazca. Spustí sa vyhľadávanie od konca frázy (sprava doľava), ale vráti sa pozícia od začiatku reťazca (zľava doprava).
1 | InStrRev (StrEx, "") |
Kombináciou funkcií môžeme z frázy extrahovať časť za poslednou medzerou:
123456789101112131415 | Sub RightPriklad_6 ()Dim StrEx As String 'Definujte premennú reťazcaStrEx = "Luke Skywalker"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Výsledok je: „Skywalker“StrEx = "Leonardo da Vinci"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Výsledok je „da Vinci“StrEx = „Nech je sila s vami“MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Výsledok je: „vy“Koniec pod |