Funktsioon VBA MID | Kuidas kasutada Exceli VBA MID-funktsiooni?
Exceli VBA MID-funktsioon
Funktsioon VBA MID eraldab väärtused lisatud lause või sõna keskelt. Funktsioon MID liigitatakse funktsiooni String ja Text alla ja see on töölehe funktsioon, mis tähendab, et selle funktsiooni kasutamist VBA-s peame kasutama meetodit application.worksheet.
On olukordi, kus me tahame välja võtta eesnime, perekonnanime või teise nime. Sellistes olukordades on kategooria TEXT valemid meie nõuete täitmiseks abiks. Selle funktsiooni kasutamine on sama mis töölehe viites ja süntaks on sama.
Süntaks
Nagu ka meie exceli MID-funktsioon, on ka VBA-s sarnane süntaksiväärtuste komplekt. Allpool on süntaks.
- String to Search: See pole midagi muud kui see, mis on stringi lause, st millisest stringist või sõnast soovite väärtused välja tõmmata.
- Algpositsioon: millisest lause positsioonist soovite välja tõmmata. See peaks olema arvuline väärtus.
- Eemaldatavate märkide arv: mitu märki soovite lähtepositsioonist eraldada? See peaks olema ka arvuline väärtus.
Kuidas kasutada VBA MID-funktsiooni?
Selle VBA MID funktsiooni malli saate alla laadida siit - VBA MID funktsiooni mallNäide 1
Oletame, et teil on sõna „Tere, Tere hommikust” ja soovite sellest lausest välja võtta sõna „Hea”. Väärtuse eraldamiseks toimige järgmiselt.
1. samm: kõigepealt looge makro nimi.
Kood:
Alam MID_VBA_Näide1 () Lõpeta alam
2. samm: kuulutage muutuja väärtuseks „STRING”.
Kood:
Sub MID_VBA_Example1 () Dim MiddleValue kui stringi lõpp Sub
3. samm: määrake nüüd sellele muutujale väärtus funktsiooni MID kaudu.
Kood:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid (End Sub
4. samm: esimene argument on string, st millisest väärtusest me tahame välja tõmmata. Nii et meie väärtus on “Tere head hommikut”.
Kood:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Tere hommikust", End Sub
5. samm: Järgmine on see, mis on tähemärgi lähtepositsioon, mille soovite välja tõmmata. Sel juhul algab Tere hommikust seitsmendast tegelasest.
Märkus: tühik on samuti märk.
Kood:
Sub MID_VBA_Example1 () Dim MiddleValue String MiddleValue = Mid ("Tere tere hommikust", 7 lõpu alamväärtus
6. samm: pikkus pole midagi muud, kui mitu tähemärki soovite välja tõmmata. Peame siin välja võtma 4 tähemärki, sest sõna „Hea” pikkus on 4 tähemärki.
Kood:
Sub MID_VBA_Eexample1 () Dim MiddleValue stringina MiddleValue = Kesk ("Hello Tere hommikust", 7, 4) Lõpp Sub
7. samm: oleme valemi täitnud. Näitame muutuja tulemust teatekastis.
Kood:
Sub MID_VBA_Eexample1 () Dim MiddleValue String MiddleValue = Mid ("Tere hommikust", 7, 4) MsgBox MiddleValue End Sub
8. samm: käivitage nüüd see kood käsitsi või vajutage klahvi F5, sõnumikastis peaks olema sõna “Hea”.
Väljund:
Näide 2
Oletame, et teil on koos ees- ja perekonnanimi ning see sõna on “Ramesh, Tendulkar”. Eesnime ja perekonnanime vahel on eraldusmärk koma (,). Nüüd peame välja tooma ainult eesnime.
1. samm: looge makro ja määrake muutuja.
Kood:
Sub MID_VBA_Example2 () Dim Eesnimi String End Sub
2. samm: määrake nüüd sellele muutujale väärtus funktsiooni MID kaudu.
Kood:
Sub MID_VBA_Eexample2 () Dim Eesnimi Stringina Eesnimi = Mid (End Sub
3. samm: meie string on „Ramesh.Tendulkar”, nii et sisestage see sõna.
Kood:
Sub MID_VBA_Eexample2 () Dim FirstName as String FirstName = Mid ("Ramesh, Tendulkar", End Sub
4. samm: kuna eesnime väljavõtmine on lähtepositsioon 1.
Kood:
Sub MID_VBA_Eexample2 () Dim FirstName as String FirstName = Mid ("Ramesh, Tendulkar", 1, Sub Sub
5. samm: märgi pikkus, mille saate otse sisestada kuuena, kuid see pole parim viis. Pikkuse määramiseks laseme rakendada veel ühte valemit nimega Instr.
Kood:
Sub MID_VBA_Eexample2 () Dim Eesnimi stringina FirstName = Kesk ("Ramesh, Tendulkar", 1, InStr (End Sub
6. samm: selle lähtepositsiooni jaoks on 1.
Kood:
Sub MID_VBA_Eexample2 () Dim Eesnimi stringina FirstName = Kesk ("Ramesh, Tendulkar", 1, InStr (1, End Sub
7. samm: 1. string on meie nimi, st "Ramesh, Tendulkar".
Kood:
Sub MID_VBA_Eexample2 () Dim Eesnimi stringina FirstName = Kesk ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", End Sub
8. samm: string 2, mis on ees- ja perekonnanime eraldaja, st koma (,).
Kood:
Sub MID_VBA_Eexample2 () Hämardage eesnimi stringina Eesnimi = Kesk ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", ",") Lõpp alam
Märkus. Funktsioon Instr tagastab, kui palju märke on sõnas “Ramesh, Tendulkar” stringi 1 positsioonist stringi 2 positsioonini, st kuni komani (,). Nii et Instr tagastab tulemuseks 7 koos komaga (,).
9. samm: kuna funktsioon Funk tagastab koma (,) sisaldavate märkide arvu, peame siin miinus 1 tähemärgi. Nii et pärast Instr-funktsiooni sulgemist sisestage -1.
Kood:
Sub MID_VBA_Eexample2 () Dim FirstName as String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", ",") - 1) Lõpp alam
10. samm: nüüd kuvage teatekastis muutuja väärtus.
Kood:
Sub MID_VBA_Eexample2 () Dim Eesnimi stringina FirstName = Kesk ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", ",") - 1) MsgBoxi eesnime lõpu alam
11. samm: käivitage see kood, kasutades klahvi F5, või saate seda koodi käsitsi käivitada, me saaksime eesnime sõnumikasti.
Väljund:
Näide # 3
Nüüd annan teile ühe ülesande lahendamiseks. Mul on nimekiri ees- ja perekonnanimest.
Sellest loendist soovin, et võtaksite välja ainult eesnime. Kõike paremat!!!!.
Ok, kui olete proovinud ja ei ole võimalik tulemust saada, siis aitab see allpool olevast koodist.
Kood:
Alam-MID_VBA_Näide3 () Dim i nii kaua kui i = 2 kuni 15 lahtrit (i, 2). Väärtus = Keskmine (lahtrid (i, 1). Väärtus, 1, InStr (1, lahtrid (i, 1). Väärtus, " , ") - 1) Järgmine i End Sub
Kopeerige ja kleepige ülaltoodud kood oma moodulisse. Pärast koodi kopeerimist käivitage see kood klahviga F5 või võite käivitada käsitsi.
See peaks andma tulemuse nagu allpool.
Asjad, mida meeles pidada
- Funktsioon MID on pikkuse argument valikuline. Kui te seda ignoreerite, võtab see vaikeväärtuseks 1.
- Pikkuse või lähteasendi määramiseks kasutage funktsiooni Instr koos MID-funktsiooniga.