Denne vejledning viser, hvordan du bruger den rigtige VBA -funktion til at udtrække tekst fra højre.
Højre funktion
VBA Højre funktion Sidste n tegn
Funktionen VBA Right returnerer de sidste n tegn fra en streng:
123456 | Sub RightExample_1 ()MsgBox Right ("ABCDEFGHI", 4) 'Resultat er: "FGHI"MsgBox Right ("ABCDEFGHI", 2) 'Resultat er: "HI"MsgBox Right ("ABCDEFGHI", 1) 'Resultatet er: "I"MsgBox Right ("ABCDEFGHI", 100) 'Resultat er: "ABCDEFGHI"Afslut Sub |
VBA Højre funktion Sidste n tegn i en variabel
Som vist ovenfor kan du definere en streng ved blot at indtaste tekst omgivet af anførselstegn. Men den HØJRE funktion fungerer også med strengvariabler. Disse eksempler vil udtrække de sidste n tegn fra en strengvariabel.
123456789 | Sub RightExample_2 ()Dim StrEx som streng 'Definer en strengvariabelStrEx = "ABCDEFGHI"MsgBox Right (StrEx, 4) 'Resultat er: "FGHI"MsgBox Right (StrEx, 2) 'Resultatet er: "HI"MsgBox Right (StrEx, 1) 'Resultatet er: "I"MsgBox Right (StrEx, 100) 'Resultat er: "ABCDEFGHI"Afslut Sub |
VBA -programmering | Kodegenerator virker for dig!
VBA Højre funktion Sidste n tegn fra en celle
Strenge kan defineres i VBA -kode, men du kan også bruge værdier fra celler. Læs værdien af en celle, gem den i en strengvariabel, og udtræk de sidste n tegn fra den pågældende regnearks celleværdi.
123456789101112 | Sub RightExample_3 ()Dim StrEx som streng 'Definer en strengvariabel'Læs værdien af celle A1 i regneark Ark1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Område ("A1"). Værdi'I dette eksempel er værdien af celle A1 "ABCDEFG hI"MsgBox Right (StrEx, 4) 'Resultatet er: "G hI"MsgBox Right (StrEx, 2) 'Resultatet er: "hI"MsgBox Right (StrEx, 1) 'Resultatet er: "I"MsgBox Right (StrEx, 100) 'Resultat er: "ABCDEFG hI"Afslut Sub |
VBA Højre funktion Beskær første bogstav
Hvis du vil fjerne bogstaver fra begyndelsen af en streng, skal du bruge HØJRE -funktionen sammen med LEN -funktionen.
VBA LEN -funktionen tæller antallet af tegn i en streng:
1 | Len (StrEx) |
Ved at kombinere funktionerne kan vi fjerne et bestemt antal tegn fra starten af strengen:
12345678 | Sub RightExample_4 ()Dim StrEx som streng 'Definer en strengvariabelStrEx = "ABCDEF"MsgBox Right (StrEx, Len (StrEx)) 'Resultat er: "ABCDEF"MsgBox Right (StrEx, Len (StrEx) - 1) 'Resultat er: "BCDEF"MsgBox Right (StrEx, Len (StrEx) - 2) 'Resultat er: "CDEF"Afslut Sub |
VBA Ret til at udtrække tekst efter mellemrum
For at udtrække efternavnet fra en streng med et fuldt navn skal du bruge den højre funktion sammen med Len og Instr -funktionen.
VBA LEN -funktionen tæller antallet af tegn i en streng:
1 | Len (StrEx) |
VBA InStr -funktionen søger efter en delstreng inde i en streng og returnerer placeringsnummeret for delstrengen.
1 | InStr (StrEx, "") |
Ved at kombinere funktionerne kan vi udtrække delen efter det første mellemrum fra en sætning:
123456789101112131415 | Sub RightExample_5 ()Dim StrEx som streng 'Definer en strengvariabelStrEx = "Luke Skywalker"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))'Resultatet er: "Skywalker"StrEx = "Leonardo da Vinci"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))'Resultatet er: "da Vinci"StrEx = "Må kraften være med dig"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))'Resultatet er: "Kraften være med dig"Afslut Sub |
Træt af at søge efter eksempler på VBA -kode? Prøv AutoMacro!
VBA Ret til at udtrække sidste ord
For at udtrække det sidste ord fra en streng med en sætning skal du bruge den højre funktion sammen med Len og InstrRev -funktionen.
Som vi har set ovenfor, tæller VBA LEN -funktionen antallet af tegn i en streng:
1 | Len (StrEx) |
VBA InStrRev -funktionen søger efter en delstreng inde i en streng og returnerer placeringsnummeret for delstrengen. Det starter søgningen fra slutningen af sætningen (højre til venstre), men returnerer positionen fra starten af strengen (venstre mod højre).
1 | InStrRev (StrEx, "") |
Ved at kombinere funktionerne kan vi udtrække delen efter det sidste mellemrum fra en sætning:
123456789101112131415 | Sub RightExample_6 ()Dim StrEx som streng 'Definer en strengvariabelStrEx = "Luke Skywalker"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))'Resultatet er: "Skywalker"StrEx = "Leonardo da Vinci"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))'Resultatet er: "da Vinci"StrEx = "Må kraften være med dig"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))'Resultatet er: "dig"Afslut Sub |