VBA Mid -funktion - Udtræk tegn fra midten af ​​strengen

Indholdsfortegnelse

Denne vejledning viser, hvordan du bruger Mid VBA -funktionen til at udtrække tegn fra midten af ​​en tekststreng.

Mid funktion

Mid Funktion Få n tegn

VBA Mid -funktionen returnerer n tegn fra en streng, der starter fra position m:

123456789 Sub MidExample_1 ()MsgBox Mid ("ABCDEFGHI", 4, 1) 'Resultat er: "D"MsgBox Mid ("ABCDEFGHI", 4, 2) 'Resultat er: "DE"MsgBox Mid ("ABCDEFGHI", 4, 50) 'Resultat er: "DEFGHI"MsgBox Mid ("ABCDEFG hI", 6, 1) 'Resultat er: "F"MsgBox Mid ("ABCDEFG hI", 6, 2) 'Resultat er: "FG"MsgBox Mid ("ABCDEFG hI", 6, 4) 'Resultat er: "FG h"Afslut Sub

Mid -funktion Få n tegn i en variabel

Som vist ovenfor kan du definere en streng ved blot at indtaste tekst omgivet af anførselstegn. Men MID -funktionen fungerer også med strengvariabler. Disse eksempler vil udtrække n tegn fra en streng, der starter fra position m.

12345678 Sub MidExample_2 ()Dim StrEx som streng 'Definer en strengvariabelStrEx = "ABCDEFGHI"MsgBox Mid (StrEx, 2, 1) 'Resultatet er: "B"MsgBox Mid (StrEx, 2, 2) 'Resultat er: "BC"MsgBox Mid (StrEx, 2, 50) 'Resultat er: "BCDEFGHI"Afslut Sub

Mid -funktion Få 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 n tegn fra denne regnearkscelleværdi fra position m.

1234567891011 Sub MidExample_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 "Må kraften være med dig"MsgBox Mid (StrEx, 4, 6) 'Resultat er: "the F" (Bemærk mellemrummet i starten)MsgBox Mid (StrEx, 2, 8) 'Resultatet er: "ay F"MsgBox Mid (StrEx, 3, 4) 'Resultatet er: "y th"Afslut Sub

Mid Funktion Erstat n tegn

I eksemplerne ovenfor ændrede Mid -funktionen ikke den originale streng. Den returnerede en del af den og efterlod den originale streng intakt. Mid -funktion kan bruges til at erstatte tegn i en streng.

12345678910111213141516171819202122 Sub MidExample_4 ()Dim StrEx som streng 'Definer en strengvariabelSub MidExample_4 ()Dim StrEx som streng 'Definer en strengvariabelStrEx = "Må kraften være med dig"Midt (StrEx, 5, 1) = "VWXYZ"MsgBox StrEx 'resultat er: "Må Vhe Horce være med dig"'Mid Funktion fandt position 5 og erstattede 1 tegn i den originale strengStrEx = "Må kraften være med dig"Midt (StrEx, 5, 3) = "VWXYZ"MsgBox StrEx 'resultat er: "Må VWX Horce være med dig"'Mid Funktion fandt position 5 og erstattede 3 tegn i den originale strengStrEx = "Må kraften være med dig"Midt (StrEx, 5, 8) = "VWXYZ"MsgBox StrEx 'resultat er: "Må VWXYZorce være med dig"'Mid Funktion fandt position 5 og forsøgte at erstatte 8 tegn.'"VWXYZ" har kun 5 tegn, så kun 5 tegn blev udskiftet.Afslut Sub

Mid -funktion Udtræk andet ord fra en sætning

Vi kan bruge VBA Mid -funktion med VBA Instr -funktion til at få det andet ord i en tekst.

VBA InStr -funktion kan returnere placeringen af ​​et tegn inde i teksten.

1 InStr ("To ord", "") 'Resultat er 4

Vi kan bruge InStr til at finde det første mellemrum, derefter kan vi bruge InStr igen ved at starte søgningen efter det første mellemrum for at finde det andet mellemrum i teksten. Endelig kan vi bruge Mid -funktionen til at udtrække ordet, fordi vi kender startpositionen for det andet ord og dets længde (forskellen mellem de to mellemrumspositioner).

12345678910111213141516171819202122232425 Sub MidExample_5 ()Dim StrEx som streng 'Definer en strengvariabelDim StartPos som heltalDim EndPos som heltalDim SecondWord som strengStrEx = "James Earl Jones er skuespiller"StartPos = InStr (StrEx, "")'Resultatet er 6'Find placeringen af ​​det første rumEndPos = InStr (StartPos + 1, StrEx, "")'Resultatet er 11'Find placeringen af ​​det andet mellemrum ved at starte søgningen efter det første mellemrumSecondWord = Mid (StrEx, StartPos + 1, EndPos - StartPos - 1)'Mid udtrækker tegnene, der starter efter det første mellemrum (StartPos +1)'Mid bruger også længden af ​​det andet ord.'Det er forskellen mellem mellemrumspositioner -1MsgBox SecondWord'Resultatet er EarlAfslut Sub
wave wave wave wave wave