Excel VBA MID funkcija
VBA MID funkcija izdvaja vrijednosti iz sredine isporučene rečenice ili riječi. Funkcija MID kategorizirana je pod funkcijom String and Text i funkcija je radnog lista što znači da za korištenje ove funkcije u VBA moramo koristiti metodu application.worksheet.
Postoje situacije u kojima želimo izdvojiti ime, prezime ili srednje ime. U tim su situacijama formule kategorije TEKST korisne za ispunjavanje naših zahtjeva. Upotreba ove funkcije jednaka je upotrebi reference radnog lista, a sintaksa je također ista.

Sintaksa
Kao i naša excel MID funkcija, i u VBA ima sličan skup vrijednosti sintakse. Ispod je sintaksa.

- Pretraživanje niza: Ovo nije ništa drugo doli kakva je rečenica niza, tj. Iz kojeg niza ili riječi želite izvući vrijednosti.
- Početni položaj: Iz kojeg položaja rečenice želite izdvojiti. Ovo bi trebala biti brojčana vrijednost.
- Broj znakova za izdvajanje: s početne pozicije, koliko znakova želite izdvojiti? Ovo bi također trebala biti brojčana vrijednost.
Kako koristiti VBA MID funkciju?
Primjer # 1
Pretpostavimo da imate riječ "Zdravo dobro jutro" i želite iz ove rečenice izdvojiti "Dobro". Slijedite korake u nastavku da biste izdvojili vrijednost.
Korak 1: Prvo stvorite ime makronaredbe.
Kodirati:
Sub MID_VBA_Example1 () Kraj Sub

Korak 2: Proglasite varijablu kao "STRING".
Kodirati:
Sub MID_VBA_Example1 () Zatamni MiddleValue kao kraj niza Sub

Korak 3: Sada dodijelite vrijednost ovoj varijabli putem funkcije MID.
Kodirati:
Sub MID_VBA_Example1 () Zatamni MiddleValue kao niz MiddleValue = Mid (End Sub

Korak 4: Prvi je argument String, tj. Iz koje vrijednosti želimo izdvojiti. Dakle, naša vrijednost je "Zdravo dobro jutro."
Kodirati:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Good Morning", End Sub

Korak 5: Sljedeće je početni položaj lika koji želite izdvojiti. U tom slučaju, dobro jutro počinje sa 7 -og karaktera.
Napomena: Prostor je također lik.
Kodirati:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Good Morning", 7 End Sub

Korak 6: Duljina nije ništa drugo do koliko znakova želite izdvojiti. Ovdje moramo izdvojiti 4 znaka jer je duljina riječi "Dobro" 4 znaka.
Kodirati:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Good Morning", 7, 4) End Sub

Korak 7: Dovršili smo formulu. Pokažimo rezultat varijable u okviru s porukom.
Kodirati:
Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Good Morning", 7, 4) MsgBox MiddleValue End Sub

Korak 8: Sada pokrenite ovaj kôd ručno ili pritisnite tipku F5, okvir za poruku trebao bi prikazivati riječ "Dobro".

Izlaz:

Primjer # 2
Pretpostavimo da zajedno imate ime i prezime, a riječ je "Ramesh, Tendulkar." Između imena i prezimena znak za razdvajanje je zarez (,). Sada moramo izvući samo prvo ime.
Korak 1: Stvorite makronaredbu i definirajte varijablu.
Kodirati:
Sub MID_VBA_Example2 () Priguši ime kao niz na kraju Sub

Korak 2: Sada dodijelite vrijednost ovoj varijabli putem funkcije MID.
Kodirati:
Sub MID_VBA_Example2 () Dim FirstName kao niz FirstName = Mid (End Sub

Korak 3: Naš niz je "Ramesh.Tendulkar", zato unesite ovu riječ.
Kodirati:
Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", End Sub

Korak 4: Budući da vadimo ime, početna pozicija je 1.
Kodirati:
Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, End Sub

Korak 5: Duljina znaka koji možete izravno unijeti kao 6, ali ovo nije najbolji način. Da bismo odredili duljinu, primijenimo još jednu formulu zvanu Instr.
Kodirati:
Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (End Sub)

Korak 6: Za ovaj je početni položaj 1.
Kodirati:
Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, End Sub)

Korak 7: Niz 1 je naše ime, tj. "Ramesh, Tendulkar."
Kodirati:
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 Koliko dugo i = 2 do 15 ćelija (i, 2) .Vrijednost = Mid (Ćelije (i, 1) .Vrijednost, 1, InStr (1, Ćelije (i, 1). Vrijednost, " , ") - 1) Dalje i Kraj Sub
Kopirajte i zalijepite gornji kod u svoj modul. Nakon kopiranja koda, pokrenite ga pomoću tipke F5 ili ga možete pokrenuti ručno.

Trebao bi dati rezultat kao u nastavku.

Stvari koje treba zapamtiti
- Argument dužine u funkciji MID nije obavezan. Ako to zanemarite, trebat će vam 1 kao zadana vrijednost.
- Da biste odredili duljinu ili početni položaj, upotrijebite funkciju Instr zajedno s funkcijom MID.