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 välja tõmmata? See peaks olema ka arvuline väärtus.
Kuidas kasutada VBA MID-funktsiooni?
Nä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 funktsioon MID kaudu väärtus.
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 hommikust”.
Kood:
Sub MID_VBA_Eexample1 () 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 Tere hommikust algab 7 th iseloomu.
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 eraldada. Peame siin välja võtma 4 tähemärki, sest sõna „Hea” pikkus on 4 tähemärki.
Kood:
Sub MID_VBA_Example1 () Dim MiddleValue String MiddleValue = Mid (Keskmine ("Tere hommikust", 7, 4) Lõpp alam

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 funktsioon MID kaudu väärtus.
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 Eesnimi stringina FirstName = Kesk ("Ramesh, Tendulkar", 1, Sub Sub

5. samm: märgi pikkus, mille saate otse sisestada kuuena, kuid see pole parim viis. Pikkuse määramiseks rakendame 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_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar",1,InStr(1,"Ramesh,Tendulkar", End Sub

Step 8: String 2 what is the separator of first name & last name, i.e., comma (,).
Code:
Sub MID_VBA_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar",1,InStr(1,"Ramesh,Tendulkar",",") End Sub

Note: Instr function will return how many characters are there in the word “Ramesh, Tendulkar” from the string 1 position to the string 2 positions, i.e., until comma (,). So Instr will return 7 as a result, including comma (,).
Step 9: Since Instr function returns no., of characters including comma (,) we need to minus 1 character here. So enter -1 after the close of Instr function.
Code:
Sub MID_VBA_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar", 1, InStr(1, "Ramesh,Tendulkar", ",") - 1) End Sub

Step 10: Now show the value of the variable in the message box.
Code:
Sub MID_VBA_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar", 1, InStr(1, "Ramesh,Tendulkar", ",") - 1) MsgBox FirstName End Sub

Step 11: Run this code using the F5 key, or you can run this code manually. We would get the first name in the message box.

Output:

Example #3
Now I will give you one assignment to solve. I have a list of First Name & Last Name.

From this list, I want you to extract the first name only. All the best!!!!.
Ok, If you have tried and not able to get the result, then the below code would help you in this.
Code:
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 klahvi F5 abil, vastasel juhul saate seda käsitsi käivitada.

See peaks andma sellise tulemuse nagu allpool.

Asjad, mida meeles pidada
- Funktsiooni MID pikkuse argument on valikuline. Kui te seda ignoreerite, võtab see vaikeväärtuseks 1.
- Pikkuse või lähteasendi määramiseks kasutage funktsiooni Instr koos MID-funktsiooniga.