Šī 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š |