Cum se utilizează funcția Mid din VBA în Excel (3 exemple)

  • Imparte Asta
Hugh West

Una dintre cele mai importante și utilizate funcții pe scară largă pe care o folosim în timpul lucrului cu VBA în Excel este Funcția de mijloc de VBA . Acesta ia un șir de caractere ca intrare și returnează un anumit număr de caractere din mijlocul șirului ca ieșire. Astăzi, în acest articol, vă voi arăta cum puteți folosi Funcția de mijloc de VBA cu exemple și ilustrații adecvate.

Aceasta va returna 9 caractere din șirul "Angela Catherine Nevills" , pornind de la 8. Caracter. "Catherine" .

Descărcați caietul de practică

Descărcați această carte de practică pentru a vă exersa sarcina în timp ce citiți acest articol.

VBA Mid Function.xlsm

Introducere în funcția Mid a VBA în Excel

Funcția obiectiv:

The Mijlocul primește o valoare ca intrare și returnează un anumit număr de caractere pornind de la o anumită poziție a valorii ca ieșire.

Valoarea poate fi un șir de caractere, număr , sau chiar un boolean .

De exemplu, dacă introduceți Mid("Angela Catherine Nevills",8,9), se va întoarce "Catherine" .

Dacă introduceți Mid(12345,2,3) , veți obține 234.

Și introduceți Mid(False,2,3) , veți obține als .

Sintaxă:

Sintaxa de la Funcția de mijloc de VBA este:

=Mid(String,Start as Long,[Length])

Argumente:

Argument Necesar / Opțional Explicație
Șir de caractere Necesar Șirul din care se va returna un număr de caractere.
Start Necesar Caracterul de început al șirului care va fi returnat.
Lungime Opțional Numărul de caractere care vor fi returnate. Valoarea implicită este 1.

Valoarea de returnare:

Returnează un anumit număr de caractere din mijlocul unui șir de caractere, începând de la o anumită poziție.

3 exemple de utilizare a funcției Mid din VBA în Excel

De data aceasta, să explorăm Funcția de mijloc de VBA în detaliu cu câteva exemple.

1. Separarea unui anumit număr de caractere din mijlocul unor ID-uri folosind funcția Mid din VBA în Excel

Aici avem un set de date cu ID-uri și Nume a unor angajați ai unei companii numite Saturn Group.

În acest caz, se va utiliza 4. la 7 caracterele din fiecare ID indică anul intrării în serviciu a angajatului respectiv.

Acum vom dezvolta un Funcție definită de utilizator folosind Funcția de mijloc de VBA care va extrage anul de afiliere al fiecărui angajat din ID-ul angajatului .

Puteți utiliza următoarele VBA cod:

Cod VBA:

 Function Joining_Year(ID) Joining_Year = Mid(ID, 4, 4) End Function 

Notă: Acest cod creează o funcție numită Anul_aderării .

Ieșire:

Rulați această funcție în orice celulă din foaia de calcul cu un ID ca argument.

Aici, în celulă D4 , am introdus formula:

=Anul de aderare(B4)

Acesta a returnat anul de angajare al primului angajat, 2021 .

Acum puteți să trageți Mâner de umplere pentru a obține anii de afiliere a celorlalți angajați.

Explicația codului:

  • În primul rând, declarăm o funcție numită Anul_aderării care ia un ID ca intrare prin linia Funcția Joining_Year(ID) .
  • Apoi extragem 4 caracterele din ID începând de la poziția 4 , prin linia Joining_Year = Mid(ID, 4, 4) .
  • Linia Sfârșitul funcției declară sfârșitul funcției.

2. Extragerea extensiilor din unele adrese de e-mail utilizând funcția Mid din VBA în Excel

Acum am adăugat o nouă coloană la setul de date, care conține adresele de e-mail ale angajaților.

De data aceasta vom extrage extensiile adreselor de e-mail folosind funcția Mijlocul funcția de VBA .

The Cod VBA va fi:

Cod VBA:

 Function Extension(Email_Address) For i = 1 To Len(Email_Address) If Mid(Email_Address, i, 1) = "@" Then Extension = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) End If Next i End Function 

Notă: Acest cod creează o funcție numită Extensie .

Ieșire:

Rulați această funcție în orice celulă din foaia de calcul cu un câmp Adresa de e-mail ca argument.

Aici, în celulă E4 , am introdus formula:

=Extensiune(D4)

Acesta a returnat extensia primei adrese de e-mail.

Apoi, puteți trage Mâner de umplere pentru a extrage extensiile tuturor adreselor de e-mail.

Explicația codului

  • În primul rând, declarăm o funcție numită Extensie care ia orice nume ca intrare prin linia Funcția Extension(Email_Address) .
  • Apoi începem o iterație cu un for-loop care verifică fiecare caracter din Adresa de e-mail pentru a vedea dacă este @ sau nu prin linia Dacă Mid(Email_Address, i, 1) = "@" Atunci .
  • În cazul în care găsește un @ , apoi extrage extensia necesară din fișierul Adresa de e-mail prin linia Extension = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) .
  • În cele din urmă, declarăm sfârșitul funcției.

3. Verificarea unor texte pentru a vedea dacă acestea conțin sau nu un anumit text

Una dintre cele mai importante utilizări ale Funcția de mijloc este de a vedea dacă un text conține sau nu un anumit text.

Să dezvoltăm o funcție care să verifice dacă Adrese de e-mail conțin termenul "gmail" sau nu.

Puteți utiliza următoarele VBA cod:

Cod VBA:

 Function Checking(Text1, Text2) For i = 1 To Len(Text1) If Mid(Text1, i, Len(Text2)) = Text2 Then Checking = "Yes" Exit For Else Checking = "No" End If Next i End Function 

Notă: Acest cod creează o funcție numită Verificarea .

Ieșire:

Rulați această funcție în orice celulă din foaia de calcul cu două texte ca argument.

Aici, în celulă E4 , am introdus formula:

=Checking(D4, "gmail")

Acesta s-a întors da pentru că prima adresă de e-mail este un Gmail adresa.

Apoi, puteți trage Mâner de umplere pentru a face același lucru pentru toate ID-urile de e-mail.

Explicația codului:

  • În primul rând, declarăm o funcție numită Verificarea care primește două texte ca argumente prin linia Funcția Verificare(Text1,Text2) .
  • Apoi pornim o buclă for care verifică fiecare segment din Text1 pornind de la poziția 1 , pentru a vedea dacă este egal cu Text2 sau nu, prin linia Dacă Mid(Text1, i, Len(Text2)) = Text2 Atunci .
  • Dacă găsește Text2 , apoi se întoarce "Da" în caz contrar, se returnează "Nu" .
  • În cele din urmă, încheiem funcția prin linia Sfârșitul funcției .

Lucruri de reținut

  • The 1. argument al Funcția de mijloc nu trebuie să fie întotdeauna un șir de caractere, ci poate fi un șir de caractere , a număr , sau chiar un boolean valoare.
  • Dar, în schimb, a 2. și 3. argumentele trebuie să fie numere . ei pot fi numere întregi sau fracții dar trebuie să fie numere . dacă sunt fracții , atunci Funcția de mijloc le va converti la cea mai apropiată numere întregi .

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.