Denna handledning visar hur du använder rätt VBA -funktion för att extrahera text från höger.
Höger funktion
VBA Höger funktion Last n Characters
VBA Right -funktionen returnerar de sista n -tecknen från en sträng:
123456 | Sub RightExample_1 ()MsgBox Right ("ABCDEFGHI", 4) 'Resultatet är: "FGHI"MsgBox Right ("ABCDEFGHI", 2) 'Resultat är: "HI"MsgBox Right ("ABCDEFGHI", 1) 'Resultatet är: "I"MsgBox Right ("ABCDEFGHI", 100) 'Resultatet är: "ABCDEFGHI"Avsluta Sub |
VBA Höger funktion Sista n tecken i en variabel
Som visas ovan kan du definiera en sträng helt enkelt genom att ange text omgiven av citattecken. Men HÖGER -funktionen fungerar också med strängvariabler. Dessa exempel kommer att extrahera de sista n -tecknen från en strängvariabel.
123456789 | Sub RightExample_2 ()Dim StrEx As String 'Definiera en strängvariabelStrEx = "ABCDEFGHI"MsgBox Right (StrEx, 4) 'Resultatet är: "FGHI"MsgBox Right (StrEx, 2) 'Resultatet är: "HI"MsgBox Right (StrEx, 1) 'Resultatet är: "I"MsgBox Right (StrEx, 100) 'Resultatet är: "ABCDEFGHI"Avsluta Sub |
VBA -programmering | Kodgenerator fungerar för dig!
VBA Höger funktion Sista n tecken från en cell
Strängar kan definieras i VBA -kod men du kan också använda värden från celler. Läs värdet på en cell, behåll den i en strängvariabel och extrahera de sista n -tecknen från det kalkylbladets cellvärde.
123456789101112 | Sub RightExample_3 ()Dim StrEx As String 'Definiera en strängvariabel'Läs värdet för cell A1 i kalkylblad 1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Område ("A1"). Värde'I detta exempel är värdet för cell A1 "ABCDEFG hI"MsgBox Right (StrEx, 4) 'Resultatet är: "G hI"MsgBox Right (StrEx, 2) 'Resultatet är: "hI"MsgBox Right (StrEx, 1) 'Resultatet är: "I"MsgBox Right (StrEx, 100) 'Resultatet är: "ABCDEFG hI"Avsluta Sub |
VBA Höger funktion Klipp av första bokstaven
För att ta bort bokstäver från början av en sträng, använd HÖGER -funktionen tillsammans med LEN -funktionen.
VBA LEN -funktionen räknar antalet tecken i en sträng:
1 | Len (StrEx) |
Genom att kombinera funktionerna kan vi ta bort ett visst antal tecken från början av strängen:
12345678 | Sub RightExample_4 ()Dim StrEx As String 'Definiera en strängvariabelStrEx = "ABCDEF"MsgBox Right (StrEx, Len (StrEx)) 'Resultat är: "ABCDEF"MsgBox Right (StrEx, Len (StrEx) - 1) 'Resultat är: "BCDEF"MsgBox Right (StrEx, Len (StrEx) - 2) 'Resultat är: "CDEF"Avsluta Sub |
VBA Rätt att extrahera text efter mellanslag
För att extrahera efternamnet från en sträng med ett fullständigt namn, använd den högra funktionen tillsammans med Len- och Instr -funktionen.
VBA LEN -funktionen räknar antalet tecken i en sträng:
1 | Len (StrEx) |
VBA InStr -funktionen söker efter en delsträng inuti en sträng och returnerar positionsnumret för delsträngen.
1 | InStr (StrEx, "") |
Genom att kombinera funktionerna kan vi extrahera delen efter det första utrymmet från en fras:
123456789101112131415 | Sub RightExample_5 ()Dim StrEx As String 'Definiera en strängvariabelStrEx = "Luke Skywalker"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))'Resultatet är: "Skywalker"StrEx = "Leonardo da Vinci"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))'Resultatet är: "da Vinci"StrEx = "Må kraften vara med dig"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))'Resultatet är: "The Force be with you"Avsluta Sub |
Trött på att söka efter exempel på VBA -kod? Prova AutoMacro!
VBA Rätt att extrahera sista ordet
För att extrahera det sista ordet från en sträng med en fras, använd den högra funktionen tillsammans med Len och InstrRev -funktionen.
Som vi har sett ovan räknar VBA LEN -funktionen antalet tecken i en sträng:
1 | Len (StrEx) |
VBA InStrRev -funktionen söker efter en delsträng inuti en sträng och returnerar positionsnumret för delsträngen. Det startar sökningen från slutet av frasen (höger till vänster) men returnerar positionen från början av strängen (vänster till höger).
1 | InStrRev (StrEx, "") |
Genom att kombinera funktionerna kan vi extrahera delen efter det sista utrymmet från en fras:
123456789101112131415 | Sub RightExample_6 ()Dim StrEx As String 'Definiera en strängvariabelStrEx = "Luke Skywalker"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))'Resultatet är: "Skywalker"StrEx = "Leonardo da Vinci"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))'Resultatet är: "da Vinci"StrEx = "Må kraften vara med dig"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))'Resultatet är: "du"Avsluta Sub |