Excel VBA MID funkcija
Funkcija VBA MID izvelk vērtības no piegādātā teikuma vai vārda vidus. MID funkcija ir klasificēta zem virknes un teksta funkcijas, un tā ir darblapas funkcija, kas nozīmē izmantot šo funkciju VBA, mums jāizmanto metode application.worksheet.
Ir situācijas, kad mēs vēlamies iegūt vārdu, uzvārdu vai otro vārdu. Šādās situācijās TEXT kategorijas formulas ir noderīgas, lai izpildītu mūsu prasības. Šīs funkcijas izmantošana ir tāda pati kā darblapas atsaucei, un sintakse ir arī tāda pati.

Sintakse
Tāpat kā mūsu Excel MID funkcija, arī VBA tā ir līdzīga sintakses vērtību kopa. Zemāk ir sintakse.

- String to Search: Tas nav nekas cits kā virknes teikums, ti, no kuras virknes vai vārda vēlaties iegūt vērtības.
- Sākuma pozīcija: no kuras teikuma pozīcijas vēlaties izvilkt. Tam vajadzētu būt skaitliskai vērtībai.
- Iegūstamo rakstzīmju skaits: cik rakstzīmju no sākuma stāvokļa vēlaties izvilkt? Tam vajadzētu būt arī skaitliskai vērtībai.
Kā izmantot VBA MID funkciju?
1. piemērs
Pieņemsim, ka jums ir vārds “Labdien, labrīt”, un no šī teikuma vēlaties izvilkt “Labs”. Veiciet tālāk norādītās darbības, lai iegūtu vērtību.
1. darbība: vispirms izveidojiet makro nosaukumu.
Kods:
Apakšdaļa MID_VBA_Piemērs1 () Beigu apakšgrupa

2. darbība: paziņojiet mainīgo kā “STRING”.
Kods:
Sub MID_VBA_Example1 () Dim MiddleValue kā virknes beigu apakšsadaļa

3. solis: Tagad piešķiriet šim mainīgajam vērtību, izmantojot funkciju MID.
Kods:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid (End Sub

4. solis: pirmais arguments ir virkne, ti, no kuras vērtības mēs vēlamies iegūt. Tāpēc mūsu vērtība ir “Labdien, labrīt!”
Kods:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Labdien, labrīt", beigu apakšnodaļa

5. solis: Nākamais ir tā rakstzīmes sākuma pozīcija, kuru vēlaties iegūt. Šajā gadījumā, Labrīt sākas no 7 th rakstura.
Piezīme: atstarpe ir arī raksturs.
Kods:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Labdien, labrīt", 7 beigu apakšdaļa

6. solis: garums nav nekas cits kā tas, cik rakstzīmes vēlaties iegūt. Mums šeit jāizņem 4 rakstzīmes, jo vārda “Labi” garums ir 4 rakstzīmes.
Kods:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Labdien, labrīt, 7, 4) Beigas Sub

7. solis: mēs esam pabeiguši formulu. Parādīsim mainīgā rezultātu ziņojuma lodziņā.
Kods:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Labdien, labrīt, 7, 4) MsgBox MiddleValue End Sub

8. solis: Tagad palaidiet šo kodu manuāli vai nospiediet taustiņu F5, ziņojuma lodziņā jāparāda vārds “Labi”.

Izeja:

2. piemērs
Pieņemsim, ka jums ir vārds un uzvārds kopā, un vārds ir “Ramesh, Tendulkar”. Starp vārdu un uzvārdu atdalīšanas rakstzīme ir komats (,). Tagad mums jāizņem tikai vārds.
1. darbība: izveidojiet makro un definējiet mainīgo.
Kods:
Sub MID_VBA_Example2 () Dim FirstName kā virknes beigu apakšsadaļa

2. solis: Tagad piešķiriet šim mainīgajam vērtību, izmantojot funkciju MID.
Kods:
Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid (End Sub

3. darbība: mūsu virkne ir “Ramesh.Tendulkar”, tāpēc ievadiet šo vārdu.
Kods:
Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid (Mid ("Ramesh, Tendulkar", End Sub)

4. solis: Tā kā mēs iegūstam vārdu, sākuma pozīcija ir 1.
Kods:
Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid (Mid ("Ramesh, Tendulkar", 1, End Sub)

5. solis: rakstzīmes garums, kuru varat tieši ievadīt kā 6, taču tas nav labākais veids. Lai noteiktu garumu, izmantosim vēl vienu formulu ar nosaukumu Instr.
Kods:
Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid (Mid ("Ramesh, Tendulkar", 1, InStr (End Sub)

6. solis: šai sākuma pozīcijai ir 1.
Kods:
Sub MID_VBA_Example2 () Dim FirstName kā String FirstName = Mid (Vidējais ("Ramesh, Tendulkar", 1, InStr (1, End Sub)

7. solis: 1. virkne ir mūsu vārds, ti, “Ramesh, Tendulkar”.
Kods:
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 () Dim i As Long For i = 2 līdz 15 šūnas (i, 2). Vērtība = Vidēja (šūnas (i, 1). Vērtība, 1, InStr (1, šūnas (i, 1). Vērtība, " , ") - 1) Nākamais i Beigu apakšsadaļa
Kopējiet un ielīmējiet iepriekš minēto kodu savā modulī. Pēc koda kopēšanas palaidiet šo kodu, izmantojot taustiņu F5, vai arī varat palaist manuāli.

Tam vajadzētu dot tādu rezultātu kā zemāk.

Atceramās lietas
- Funkcijas MID garuma arguments nav obligāts. Ja jūs to ignorēsit, noklusējuma vērtība būs 1.
- Lai noteiktu garumu vai sākuma stāvokli, izmantojiet funkciju Instr kopā ar funkciju MID.