VBA vidējā funkcija - izvelciet rakstzīmes no virknes vidus

Satura rādītājs

Šī apmācība parādīs, kā izmantot funkciju Mid VBA, lai iegūtu rakstzīmes no teksta virknes vidus.

Vidējā funkcija

Vidējā funkcija Iegūstiet n rakstzīmes

Funkcija VBA Mid atgriež n rakstzīmes no virknes, sākot no pozīcijas m:

123456789 Vidējais piemērsPiemērs_1 ()MsgBox Mid ("ABCDEFGHI", 4, 1). Rezultāts: "D"MsgBox Mid ("ABCDEFGHI", 4, 2). Rezultāts: "DE"MsgBox Mid ("ABCDEFGHI", 4, 50) Rezultāts: "DEFGHI"MsgBox Mid ("ABCDEFG hI", 6, 1). Rezultāts: "F"MsgBox Mid ("ABCDEFG hI", 6, 2). Rezultāts: "FG"MsgBox Mid ("ABCDEFG hI", 6, 4). Rezultāts: "FG h"Beigu apakš

Vidējā funkcija Iegūstiet n rakstzīmes mainīgā

Kā parādīts iepriekš, jūs varat definēt virkni, vienkārši ievadot tekstu, ko ieskauj pēdiņas. Bet MID funkcija darbosies arī ar virkņu mainīgajiem. Šie piemēri iegūs n rakstzīmes no virknes, sākot no pozīcijas m.

12345678 Mid MidExample_2 ()Dim StrEx kā virkne 'Definējiet virknes mainīgoStrEx = "ABCDEFGHI"MsgBox Mid (StrEx, 2, 1) 'Rezultāts: "B"MsgBox Mid (StrEx, 2, 2) 'Rezultāts: "BC"MsgBox Mid (StrEx, 2, 50) 'Rezultāts: "BCDEFGHI"Beigu apakš

Vidējā funkcija Iegūstiet n rakstzīmes no šūnas

Virknes var definēt VBA kodā, bet jūs varat arī izmantot vērtības no šūnām. Izlasiet šūnas vērtību, saglabājiet to virknes mainīgajā un iegūstiet n rakstzīmes no šīs darblapas šūnas vērtības, sākot no pozīcijas m.

1234567891011 Mid MidExample_3 ()Dim StrEx kā virkne 'Definējiet virknes mainīgo“Izlasiet šūnas A1 vērtību 1. darblapāStrEx = ThisWorkbook.Worksheets ("Sheet1"). Diapazons ("A1"). VērtībaŠajā piemērā šūnas A1 vērtība ir "Lai spēks būtu ar jums"MsgBox Mid (StrEx, 4, 6) 'Rezultāts: "F" (ņemiet vērā atstarpi sākumā)MsgBox Mid (StrEx, 2, 8) 'Rezultāts: "a F"MsgBox Mid (StrEx, 3, 4) 'Rezultāts: "y th"Beigu apakš

Vidējā funkcija Aizvieto n rakstzīmes

Iepriekš minētajos piemēros funkcija Mid nemainīja sākotnējo virkni. Tas atdeva daļu no tā, atstājot oriģinālo virkni neskartu. Funkciju Mid var izmantot, lai aizstātu rakstzīmes virknē.

12345678910111213141516171819202122 Vidējais piemērs_4 ()Dim StrEx kā virkne 'Definējiet virknes mainīgoVidējais piemērs_4 ()Dim StrEx kā virkne 'Definējiet virknes mainīgoStrEx = "Lai spēks ir ar jums"Vidējs (StrEx, 5, 1) = "VWXYZ"MsgBox StrEx rezultāts ir: "Lai Vhe Horce ir ar jums"“Vidējā funkcija atrada 5. pozīciju un aizstāja 1 rakstzīmi sākotnējā virknēStrEx = "Lai spēks ir ar jums"Vidējs (StrEx, 5, 3) = "VWXYZ"MsgBox StrEx rezultāts ir: "Lai VWX Horce būtu ar jums"“Vidējā funkcija atrada 5. pozīciju un aizstāja 3 rakstzīmes sākotnējā virknēStrEx = "Lai spēks ir ar jums"Vidējs (StrEx, 5, 8) = "VWXYZ"MsgBox StrEx rezultāts ir: "Lai VWXYZorce būtu ar jums"“Vidējā funkcija atrada 5. pozīciju un mēģināja aizstāt 8 rakstzīmes.'' VWXYZ '' ir tikai 5 rakstzīmes, tāpēc tika aizstātas tikai 5 rakstzīmes.Beigu apakš

Vidusfunkcija Izņemiet otro vārdu no frāzes

Mēs varam izmantot funkciju VBA Mid ar funkciju VBA Instr, lai tekstā iegūtu otro vārdu.

Funkcija VBA InStr var atgriezt rakstzīmes atrašanās vietu tekstā.

1 InStr ("Divi vārdi", "") 'Rezultāts ir 4

Mēs varam izmantot InStr, lai atrastu pirmo atstarpi, tad mēs varam atkal izmantot InStr, sākot meklēšanu pēc pirmās atstarpes, lai atrastu otro vietu tekstā. Visbeidzot, mēs varam izmantot funkciju Mid, lai iegūtu vārdu, jo mēs zinām otrā vārda sākuma pozīciju un tā garumu (atšķirība starp abām atstarpēm).

12345678910111213141516171819202122232425 Vidējais piemērs_5 ()Dim StrEx kā virkne 'Definējiet virknes mainīgoDim StartPos kā vesels skaitlisDim EndPos kā vesels skaitlisDim SecondWord kā virkneStrEx = "Džeimss Ērls Džounss ir aktieris"StartPos = InStr (StrEx, "")'Rezultāts ir 6'Atrodiet pirmās vietas pozīcijuEndPos = InStr (StartPos + 1, StrEx, "")'Rezultāts ir 11'Atrodiet otrās vietas pozīciju, sākot meklēšanu pēc pirmās atstarpesSecondWord = Mid (StrEx, StartPos + 1, EndPos - StartPos - 1)'Mid izraksta rakstzīmes, kas sākas pēc pirmās atstarpes (StartPos +1)'Mid lieto arī otrā vārda garumu."Tā ir atšķirība starp atstarpēm -1MsgBox otrais vārds'Rezultāts ir ĒrlsBeigu apakš
wave wave wave wave wave