Funkcija VBA Mid - izvleči znake iz sredine niza

Ta vadnica bo pokazala, kako s funkcijo Mid VBA izvleči znake iz sredine besedilnega niza.

Srednja funkcija

Srednja funkcija Pridobite n znakov

Funkcija VBA Mid vrne n znakov iz niza, ki se začne od položaja m:

123456789 Podsrednji primer_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 "End Sub

Srednja funkcija Pridobite n znakov v spremenljivki

Kot je prikazano zgoraj, lahko niz preprosto definirate tako, da vnesete besedilo, obdano z narekovaji. Toda funkcija MID bo delovala tudi s spremenljivkami niza. Ti primeri bodo izvlekli n znakov iz niza, ki se začne od položaja m.

12345678 Podsrednji primer_2 ()Dim StrEx As String 'Določite spremenljivko 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"End Sub

Srednja funkcija Pridobite n znakov iz celice

Niz je mogoče definirati v kodi VBA, lahko pa uporabite tudi vrednosti iz celic. Preberite vrednost celice, jo hranite v spremenljivki niza in izvlecite n znakov iz te vrednosti celice delovnega lista, začenši od položaja m.

1234567891011 Podsrednji primer_3 ()Dim StrEx As String 'Določite spremenljivko niza'Preberite vrednost celice A1 na listu delovnega lista1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A1"). Value"V tem primeru je vrednost celice A1" Naj bo sila z vami "MsgBox Mid (StrEx, 4, 6) 'Rezultat je: "F" (upoštevajte presledek na začetku)MsgBox Mid (StrEx, 2, 8) 'Rezultat je: "ay the F"MsgBox Mid (StrEx, 3, 4) 'Rezultat je: "y th"End Sub

Srednja funkcija Zamenjaj n znakov

V zgornjih primerih funkcija Mid ni spremenila izvirnega niza. Vrnil je del, pri čemer je prvotni niz ostal nedotaknjen. Funkcijo Mid lahko uporabite za zamenjavo znakov v nizu.

12345678910111213141516171819202122 Pod srednji primer_4 ()Dim StrEx As String 'Določite spremenljivko nizaPod srednji primer_4 ()Dim StrEx As String 'Določite spremenljivko nizaStrEx = "Naj bo sila z vami"Srednja (StrEx, 5, 1) = "VWXYZ"Rezultat MsgBox StrEx je: "Naj bo Horse z vami"'Srednja funkcija je našla položaj 5 in zamenjala 1 znak v izvirnem nizuStrEx = "Naj bo sila z vami"Srednja (StrEx, 5, 3) = "VWXYZ"Rezultat MsgBox StrEx je: "Naj bo VWX Horce z vami""Srednja funkcija je našla položaj 5 in zamenjala 3 znake v izvirnem nizuStrEx = "Naj bo sila z vami"Srednja (StrEx, 5, 8) = "VWXYZ"Rezultat MsgBox StrEx je: "Naj bo VWXYZorce z vami""Srednja funkcija je našla položaj 5 in poskušala zamenjati 8 znakov.'"VWXYZ" ima samo 5 znakov, zato je bilo zamenjanih le 5 znakov.End Sub

Srednja funkcija Izvleci drugo besedo iz fraze

Za pridobitev druge besede v besedilu lahko uporabimo funkcijo VBA Mid s funkcijo VBA Instr.

Funkcija VBA InStr lahko vrne položaj znaka v besedilu.

1 InStr ("Dve besedi", "") 'Rezultat je 4

Za iskanje prvega presledka lahko uporabimo InStr, nato pa lahko znova uporabimo InStr, ki začne iskanje po prvem presledku, da poiščemo drugi prostor v besedilu. Nazadnje lahko s funkcijo Mid izvlečemo besedo, saj poznamo začetni položaj druge besede in njeno dolžino (razlika med dvema presledkovnima položajema).

12345678910111213141516171819202122232425 Pod srednji primer_5 ()Dim StrEx As String 'Določite spremenljivko nizaZatemni StartPos kot celo številoZatemni EndPos kot celo številoZatemni drugo besedo kot nizStrEx = "James Earl Jones je igralec"StartPos = InStr (StrEx, "")"Rezultat je 6'Poišči položaj prvega presledkaEndPos = InStr (StartPos + 1, StrEx, "")"Rezultat je 11'Poiščite položaj drugega prostora tako, da začnete iskanje za prvim presledkomSecondWord = Mid (StrEx, StartPos + 1, EndPos - StartPos - 1)'Sredina izvleče znake, ki se začnejo po prvem presledku (StartPos +1)'Mid uporablja tudi dolžino druge besede."To je razlika med položaji presledkov -1MsgBox Druga beseda'Rezultat je EarlEnd Sub

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave