Funcția VBA MID - Cum se folosește funcția Excel VBA MID?

Funcția Excel VBA MID

Funcția VBA MID extrage valorile din mijlocul propoziției sau cuvântului furnizat. Funcția MID este clasificată sub funcția Șir și text și este o funcție de foaie de lucru, ceea ce înseamnă că pentru a utiliza această funcție în VBA, trebuie să folosim metoda application.worksheet.

Există situații în care dorim să extragem prenumele, prenumele sau prenumele. În aceste situații, formulele din categoria TEXT sunt utile pentru a ne îndeplini cerințele. Utilizarea acestei funcții este aceeași cu cea a referinței foii de lucru, iar sintaxa este, de asemenea, aceeași.

Sintaxă

La fel ca funcția noastră Excel MID, și în VBA, are un set similar de valori de sintaxă. Mai jos este sintaxa.

  • Șir de căutare: Aceasta nu este altceva decât ceea ce este propoziția șirului, adică din ce șir sau cuvânt doriți să extrageți valorile.
  • Poziția inițială: din ce poziție a propoziției doriți să extrageți. Aceasta ar trebui să fie o valoare numerică.
  • Număr de caractere de extras: Din poziția de pornire, câte caractere doriți să extrageți? De asemenea, aceasta ar trebui să fie o valoare numerică.

Cum se utilizează funcția VBA MID?

Exemplul nr. 1

Să presupunem că aveți cuvântul „Bună dimineața” și doriți să extrageți „Bine” din această propoziție. Urmați pașii de mai jos pentru a extrage valoarea.

Pasul 1: Creați mai întâi un nume de macro.

Cod:

Sub MID_VBA_Example1 () End Sub

Pasul 2: declarați o variabilă ca „STRING”.

Cod:

Sub MID_VBA_Example1 () Dim MiddleValue As String End Sub

Pasul 3: Acum atribuiți o valoare acestei variabile prin funcția MID.

Cod:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid (End Sub

Pasul 4: Primul argument este String, adică din ce valoare dorim să extragem. Deci, valoarea noastră este „Bună dimineața”.

Cod:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Good Morning", End Sub

Pasul 5: Următorul este care este poziția de pornire a personajului pe care doriți să îl extrageți. În acest caz, Bună dimineața începe de la un al 7- lea personaj.

Notă: Spațiul este, de asemenea, un personaj.

Cod:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid („Bună dimineața”, 7 End Sub

Pasul 6: Lungimea nu este altceva decât câte caractere doriți să extrageți. Trebuie să extragem 4 caractere aici, deoarece lungimea cuvântului „Bun” este de 4 caractere.

Cod:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Good Morning", 7, 4) End Sub

Pasul 7: Am finalizat formula. Să arătăm rezultatul variabilei în caseta de mesaj.

Cod:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Bună dimineața", 7, 4) MsgBox MiddleValue End Sub

Pasul 8: Acum executați manual acest cod sau apăsați tasta F5, în caseta de mesaj ar trebui să apară cuvântul „Bun”.

Ieșire:

Exemplul nr. 2

Să presupunem că aveți împreună un prenume și un nume, iar cuvântul este „Ramesh, Tendulkar”. Între prenume și prenume, caracterul de separare este o virgulă (,). Acum trebuie să extragem doar prenumele.

Pasul 1: Creați o macro și definiți o variabilă.

Cod:

Sub MID_VBA_Example2 () Dim FirstName As String End Sub

Pasul 2: Acum atribuiți o valoare acestei variabile prin intermediul funcției MID.

Cod:

Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid (End Sub

Pasul 3: Șirul nostru este „Ramesh.Tendulkar”, așa că introduceți acest cuvânt.

Cod:

Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", End Sub

Pasul 4: Deoarece extragem prenumele, poziția inițială este 1.

Cod:

Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, End Sub

Pasul 5: lungimea personajului se poate introduce direct ca 6, dar aceasta nu este cea mai bună modalitate. Pentru a determina lungimea, să aplicăm încă o formulă numită Instr.

Cod:

Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (End Sub

Pasul 6: pentru această poziție de pornire este 1.

Cod:

Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, End Sub

Pasul 7: Șirul 1 este numele nostru, adică „Ramesh, Tendulkar”.

Cod:

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 To 15 Cells (i, 2) .Value = Mid (Cells (i, 1) .Value, 1, InStr (1, Cells (i, 1). Valoare, " , ") - 1) Următorul i Sfârșitul Sub

Copiați și lipiți codul de mai sus în modulul dvs. După copierea codului, rulați acest cod folosind tasta F5 sau puteți rula manual.

Ar trebui să dea un rezultat ca cel de mai jos.

Lucruri de amintit

  • Argumentul de lungime din funcția MID este opțional. Dacă ignorați acest lucru, va lua 1 ca valoare implicită.
  • Pentru a determina lungimea sau poziția de pornire utilizați funcția Instr împreună cu funcția MID.

Articole interesante...