Excel VBA MID-toiminto
VBA MID -toiminto poimii arvot toimitetun lauseen tai sanan keskeltä. MID-toiminto on luokiteltu merkkijono- ja teksti-funktioiden alle ja se on laskentataulukko-funktio, joka tarkoittaa tämän funktion käyttöä VBA: ssa, meidän on käytettävä application.worksheet-menetelmää.
On tilanteita, joissa haluamme poimia etunimen, sukunimen tai keskimmäisen nimen. Tällöin TEXT-luokan kaavat auttavat täyttämään vaatimuksemme. Tämän toiminnon käyttö on sama kuin laskentataulukon viittauksen ja syntaksin on sama.

Syntaksi
Kuten excel MID -funktiollamme, myös VBA: lla sillä on samanlainen syntaksiarvojen joukko. Alla on syntakse.

- Merkkijono etsimiseen: Tämä ei ole muuta kuin mikä merkkijono on lause, ts. Mistä merkkijonosta tai sanasta haluat poimia arvot.
- Lähtökohta: mistä lauseen kohdasta haluat purkaa. Tämän pitäisi olla numeerinen arvo.
- Poimittavien merkkien lukumäärä: Kuinka monta merkkiä haluat aloitusasemasta? Tämän pitäisi olla myös numeerinen arvo.
Kuinka käyttää VBA MID -toimintoa?
Esimerkki 1
Oletetaan, että sinulla on sana "Hei hyvää huomenta" ja haluat poimia sanan "Hyvä" tästä lauseesta. Noudata alla olevia vaiheita arvon purkamiseksi.
Vaihe 1: Luo ensin makron nimi.
Koodi:
Sub MID_VBA_Example1 () Loppu Sub

Vaihe 2: Ilmoita muuttujaksi STRING.
Koodi:
Sub MID_VBA_Example1 () Dim MiddleValue String End Sub

Vaihe 3: Määritä nyt arvo tälle muuttujalle MID-toiminnon kautta.
Koodi:
Sub MID_VBA_Example1 () Dim MiddleValue as String MiddleValue = Mid (End Sub

Vaihe 4: Ensimmäinen argumentti on merkkijono, eli mistä arvosta haluamme poimia. Joten arvo on "Hei hyvää huomenta".
Koodi:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hei hyvää huomenta", End Sub

Vaihe 5: Seuraavaksi on mikä on purettavan merkin lähtökohta. Tässä tapauksessa hyvää huomenta alkaa seitsemännestä merkistä.
Huomaa: Välilyönti on myös merkki.
Koodi:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hei hyvää huomenta", 7 End Sub

Vaihe 6: Pituus ei ole muuta kuin kuinka monta merkkiä haluat purkaa. Meidän täytyy poimia 4 merkkiä, koska sanan "Hyvä" pituus on 4 merkkiä.
Koodi:
Sub MID_VBA_Example1 () Dim MiddleValue as String MiddleValue = Mid ("Hei hyvää huomenta", 7, 4) End Sub

Vaihe 7: Kaava on valmis. Näytetään muuttujan tulos viestiruudussa.
Koodi:
Sub MID_VBA_Example1 () Dim MiddleValue as String MiddleValue = Mid ("Hei hyvää huomenta", 7, 4) MsgBox MiddleValue End Sub

Vaihe 8: Suorita tämä koodi nyt manuaalisesti tai paina F5-näppäintä. Viestiruudussa pitäisi näkyä sana "Hyvä".

Tuotos:

Esimerkki 2
Oletetaan, että sinulla on etu- ja sukunimi yhdessä, ja sana on ”Ramesh, Tendulkar”. Etunimen ja sukunimen välissä erotusmerkki on pilkku (,). Nyt meidän on purettava vain etunimi.
Vaihe 1: Luo makro ja määritä muuttuja.
Koodi:
Sub MID_VBA_Example2 () Dim FirstName as String End Sub

Vaihe 2: Määritä nyt arvo tälle muuttujalle MID-toiminnon kautta.
Koodi:
Sub MID_VBA_Example2 () Dim FirstName as String FirstName = Mid (End Sub

Vaihe 3: Merkkijonomme on "Ramesh.Tendulkar", joten kirjoita tämä sana.
Koodi:
Sub MID_VBA_Example2 () Dim FirstName as String FirstName = Mid ("Ramesh, Tendulkar", End Sub

Vaihe 4: Koska etsimme etunimen, lähtökohta on 1.
Koodi:
Sub MID_VBA_Example2 () Dim FirstName as String FirstName = Mid ("Ramesh, Tendulkar", 1, End Sub

Vaihe 5: Merkin pituus, jonka voit syöttää suoraan 6: ksi, mutta tämä ei ole paras tapa. Pituuden määrittämiseksi sovelletaan vielä yhtä kaavaa nimeltä Instr.
Koodi:
Sub MID_VBA_Example2 () Dim FirstName as String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (End Sub)

Vaihe 6: Tämä lähtökohta on 1.
Koodi:
Sub MID_VBA_Example2 () Dim FirstName as String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, End Sub)

Vaihe 7: Merkkijono 1 on nimemme, ts. "Ramesh, Tendulkar".
Koodi:
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:
Sub MID_VBA_Example3 () Hämärä i niin kauan kuin i = 2-15 solua (i, 2) .Arvo = Mid (solut (i, 1) .Arvo, 1, InStr (1, solut (i, 1) .arvo, " , ") - 1) Seuraava i End Sub
Kopioi ja liitä yllä oleva koodi moduuliin. Kun olet kopioinut koodin, suorita tämä koodi F5-näppäimellä, tai voit suorittaa sen manuaalisesti.

Sen pitäisi antaa alla olevan kaltainen tulos.

Muistettavaa
- MID-funktion pituusargumentti on valinnainen. Jos ohitat tämän, se käyttää oletusarvona 1.
- Pituuden tai lähtöasennon määrittämiseksi käytä Instr-toimintoa yhdessä MID-toiminnon kanssa.