VBA srednja funkcija - izdvajanje znakova iz sredine niza

Ovaj će vodič pokazati kako koristiti funkciju Mid VBA za izdvajanje znakova iz sredine tekstualnog niza.

Srednja funkcija

Srednja funkcija Dohvati n znakova

Funkcija VBA Mid vraća n znakova iz niza koji počinje od pozicije m:

123456789 Podporedni primjer_1 ()MsgBox Mid ("ABCDEFGHI", 4, 1) 'Rezultat je: "D"MsgBox Mid ("ABCDEFGHI", 4, 2) 'Rezultat je: "DE"MsgBox Mid ("ABCDEFGHI", 4, 50) 'Rezultat je: "DEFGHI"MsgBox Mid ("ABCDEFG hI", 6, 1) 'Rezultat je: "F"MsgBox Mid ("ABCDEFG hI", 6, 2) 'Rezultat je: "FG"MsgBox Mid ("ABCDEFG hI", 6, 4) "Rezultat je:" FG h "Kraj podm

Srednja funkcija Uzmite n znakova u varijablu

Kao što je gore prikazano, niz možete definirati jednostavnim unosom teksta okruženog navodnicima. No, funkcija MID također će raditi s string varijablama. Ovi primjeri će izdvojiti n znakova iz niza počevši od pozicije m.

12345678 Podporedni primjer_2 ()Dim StrEx As String 'Definirajte varijablu nizaStrEx = "ABCDEFGHI"MsgBox Mid (StrEx, 2, 1) 'Rezultat je: "B"MsgBox Mid (StrEx, 2, 2) 'Rezultat je: "BC"MsgBox Mid (StrEx, 2, 50) 'Rezultat je: "BCDEFGHI"Kraj podm

Srednja funkcija Dohvati n znakova iz ćelije

Nizovi se mogu definirati u VBA kodu, ali možete koristiti i vrijednosti iz ćelija. Pročitajte vrijednost ćelije, zadržite je u varijabli niza i izvucite n znakova iz te vrijednosti ćelije radnog lista počevši od položaja m.

1234567891011 Podporedni primjer_3 ()Dim StrEx As String 'Definirajte varijablu niza'Pročitajte vrijednost ćelije A1 u listu 1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A1"). Value'Za ovaj primjer vrijednost ćelije A1 je "Neka sila bude s vama"MsgBox Mid (StrEx, 4, 6) 'Rezultat je: "F" (Obratite pažnju na razmak na početku)MsgBox Mid (StrEx, 2, 8) 'Rezultat je: "ay the F"MsgBox Mid (StrEx, 3, 4) 'Rezultat je: "y th"Kraj podm

Srednja funkcija Zamijeni n znakova

U gornjim primjerima funkcija Mid nije promijenila izvorni niz. Vratio je dio, ostavljajući izvorni niz netaknut. Srednja funkcija može se koristiti za zamjenu znakova u nizu.

12345678910111213141516171819202122 Podporedni primjer_4 ()Dim StrEx As String 'Definirajte varijablu nizaPodporedni primjer_4 ()Dim StrEx As String 'Definirajte varijablu nizaStrEx = "Neka Sila bude s vama"Srednji (StrEx, 5, 1) = "VWXYZ"MsgBox StrEx 'rezultat je: "Neka Horse bude s tobom"'Srednja funkcija pronašla je poziciju 5 i zamijenila 1 znak u izvornom nizuStrEx = "Neka Sila bude s vama"Srednji (StrEx, 5, 3) = "VWXYZ"MsgBox StrEx 'rezultat je: "Neka VWX Horce bude s vama"'Srednja funkcija pronašla je poziciju 5 i zamijenila 3 znaka u izvornom nizuStrEx = "Neka Sila bude s vama"Srednji (StrEx, 5, 8) = "VWXYZ"MsgBox StrEx 'rezultat je: "Neka VWXYZorce bude s vama"'Srednja funkcija pronašla je poziciju 5 i pokušala zamijeniti 8 znakova.'"VWXYZ" ima samo 5 znakova, pa je zamijenjeno samo 5 znakova.Kraj podm

Srednja funkcija Izdvoji drugu riječ iz fraze

Za dobivanje druge riječi u tekstu možemo koristiti funkciju VBA Mid s funkcijom VBA Instr.

VBA InStr funkcija može vratiti položaj znaka unutar teksta.

1 InStr ("Dvije riječi", "") 'Rezultat je 4

Možemo upotrijebiti InStr za pronalaženje prvog prostora, a zatim ponovno upotrijebiti InStr za početak pretraživanja nakon prvog prostora za pronalaženje drugog prostora u tekstu. Konačno, možemo upotrijebiti funkciju Mid za izdvajanje riječi jer znamo početni položaj druge riječi i njezinu duljinu (razlika između dva položaja razmaka).

12345678910111213141516171819202122232425 Podporedni primjer_5 ()Dim StrEx As String 'Definirajte varijablu nizaZatamnite StartPos kao cijeli brojZatamnite EndPos kao cijeli brojZatamni drugi riječ kao nizStrEx = "James Earl Jones je glumac"StartPos = InStr (StrEx, "")'Rezultat je 6'Pronađi položaj prvog razmakaEndPos = InStr (StartPos + 1, StrEx, "")'Rezultat je 11'Pronađite položaj drugog prostora pokretanjem pretraživanja nakon prvog prostoraSecondWord = Mid (StrEx, StartPos + 1, EndPos - StartPos - 1)'Sredina izdvaja znakove koji počinju nakon prvog razmaka (StartPos +1)'Mid također koristi duljinu druge riječi.'To je razlika između pozicija razmaka -1MsgBox SecondWord'Rezultat je EarlKraj podm
wave wave wave wave wave