Kako koristiti srednju funkciju VBA u Excelu (3 primjera)

  • Podijeli Ovo
Hugh West

Jedna od najvažnijih i najčešće korištenih funkcija koje koristimo dok radimo sa VBA u Excelu je Srednja funkcija od VBA . Uzima string kao ulaz i vraća određeni broj znakova iz sredine niza kao izlaz. Danas u ovom članku pokazat ću vam kako možete koristiti Mid funkciju od VBA s odgovarajućim primjerima i ilustracijama.

Ovo će vratiti 9 znakova iz niza “Angela Catherine Nevills” , počevši od 8. znaka. To je “Catherine” .

Preuzmite Vježbenicu

Preuzmite ovu vježbu da biste vježbali zadatak dok čitate ovaj članak.

VBA Mid Function.xlsm

Uvod u srednju funkciju VBA u Excelu

Cilj funkcije:

Funkcija Mid uzima vrijednost kao ulaz i vraća dati broj znakova počevši od date pozicije vrijednosti kao izlaz.

Vrijednost može biti string, broj ili čak boolean .

Na primjer, ako umetnete Mid(“Angela Catherine Nevills”,8,9), vratit će se “Catherine” .

Ako umetnete Mid(12345,2,3) , dobit ćete 234.

I umetnuti Mid(False,2,3) , dobićete als .

Sintaksa:

Sintaksa Mid funkcija od VBA je:

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

Argumenti:

Argument Obavezno / Opciono Objašnjenje
String Obavezno Niz od koji će biti vraćen broj znakova.
Početak Obavezno Početni znak niza koji će biti vraćen.
Dužina Opcionalno Broj znakova koji će biti vraćeni. Zadana vrijednost je 1.

Povratna vrijednost:

Vraća zadati broj znakova iz sredine niza, počevši od date pozicije.

3 primjera srednje funkcije VBA u Excelu

Ovaj put, istražimo srednju funkciju od VBA detaljno s nekoliko primjera.

1. Odvajanje zadanog broja znakova od sredine nekih ID-ova korištenjem srednje funkcije VBA u Excelu

Ovdje imamo skup podataka sa ID-ovima i Imena nekih zaposlenika kompanije koja se zove Saturn Group.

Ovdje, 4. do 7. znakovi svakog ID označava godinu pridruživanja odgovarajućeg zaposlenika.

Sada ćemo razviti korisnički definiranu funkciju koristeći srednju funkciju od VBA koji će izdvojiti godinu pridruživanja svakog zaposlenika iz ID-a zaposlenika .

Možete koristiti sljedeći VBA kod:

VBA kod:

5508

Napomena: Ovaj kodkreira funkciju pod nazivom Joining_Year .

Izlaz:

Pokreni ovo funkcija u bilo kojoj ćeliji vašeg radnog lista s ID-om kao argumentom.

Ovdje, u ćeliju D4 , unijeli smo formulu:

=Joining_Year(B4)

Vraćena je godina pridruživanja prvog zaposlenika, 2021 .

Sada možete prevući Ispunite Handle da biste dobili godine pridruživanja ostalih zaposlenih.

Objašnjenje koda:

  • Prvo, deklariramo funkciju pod nazivom Joining_Year koja uzima ID kao ulaz u liniji Function Joining_Year(ID) .
  • Tada izdvajamo 4 karaktera iz ID-a počevši od pozicije 4 , linijom Joining_Year = Mid(ID, 4, 4) .
  • Linija Kraj funkcije deklarira kraj funkcije.

2. Ekstrahiranje ekstenzija iz nekih adresa e-pošte koristeći srednju funkciju VBA u Excel-u

Sada smo dodali novu kolonu skupu podataka koja sadrži adrese e-pošte zaposlenih.

Ovaj put ćemo izdvojiti ekstenzije adresa e-pošte koristeći Mid funkciju VBA .

VBA kod će biti:

VBA kod:

5001

Napomena: Ovaj kod kreira funkciju pod nazivom Extension .

Izlaz:

Pokreni ovo funkcija u bilo kojoj ćeliji vašeg radnog lista sa E-mailomAdresa kao argument.

Ovdje, u ćeliju E4 , unijeli smo formulu:

=Extension(D4)

Vratio je ekstenziju prve adrese e-pošte.

Zatim možete povući Fill Handle da izvučete ekstenzije svih e-poruka adrese.

Objašnjenje koda

  • Prvo, deklariramo funkciju pod nazivom Proširenje koje uzima bilo koje ime kao ulaz u liniji Proširenje funkcije(Email_Address) .
  • Onda započinjemo iteraciju sa for-petljom koji provjerava svaki znak Adrese e-pošte da vidi da li je @ ili ne po liniji Ako je Mid(Email_Address, i, 1) = “@” Onda .
  • Ako pronađe @ , onda izvlači potrebnu ekstenziju iz Adrese e-pošte linijom Extension = Mid(Email_Address, i + 1, Len(Email_Address) – (i + 4)) .
  • Konačno, deklariramo kraj funkcije.

3. Provjera nekih tekstova da se vidi da li sadrže određeni tekst ili ne

Jedna od najvažnijih upotreba Mid funkcije je vidjeti sadrži li tekst određeni tekst ili ne .

Hajde da razvijemo funkciju za provjeru da li Adrese e-pošte sadrže termin “gmail” ili ne.

Možete koristiti sljedeće VBA kod:

VBA kod:

5602

Napomena: Ovaj kod kreira funkciju pozvao Provjera .

Izlaz:

Pokreni ovu funkciju u bilo kojoj ćeliji vašeg radnog lista sa dva teksta kao argumentom.

Ovde, u ćeliju E4 , uneli smo formulu:

=Checking(D4,"gmail")

Vratio je da jer je 1. adresa e-pošte Gmail adresa.

Onda možete povući Fill Handle da uradite isto za sve ID-ove e-pošte.

Objašnjenje koda:

  • Prvo, deklariramo funkciju pod nazivom Provjera koja uzima dva teksta kao argumente linijom Provjera funkcije(Text1,Text2) .
  • Zatim pokrećemo for petlju koja provjerava svaki segment Text1 počevši od pozicije 1 , da vidimo da li je jednak Text2 ili ne , linijom Ako je Mid(Tekst1, i, Len(Tekst2)) = Tekst2 Onda .
  • Ako pronađe Text2 , onda vraća “Da” , inače vraća “Ne” .
  • Konačno, zaključujemo funkciju linijom Završna funkcija .

Stvari koje treba zapamtiti

  • Argument 1. Mid funkcije ne mora uvijek biti string. To može biti string , broj , ili čak boolean vrijednost.
  • Ali 2nd i 3rd argumenti moraju biti brojevi . Mogu biti cijeli brojevi ili razlomci ali moraju biti brojevi . Ako su razlomci , onda je Midfunkcija će ih pretvoriti u najbliže cijele brojeve .

Hugh West je vrlo iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i finansije i magistrirao poslovnu administraciju. Hugh ima strast prema podučavanju i razvio je jedinstven pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno znanje o Excel-u pomoglo je hiljadama studenata i profesionalaca širom svijeta da poboljšaju svoje vještine i napreduju u karijeri. Kroz svoj blog, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne Excel tutorijale i online obuku kako bi pomogli pojedincima i preduzećima da ostvare svoj puni potencijal.