Excel VBA funkcija pridruživanja

Funkcija VBA JOIN koristi se za spajanje niza podsustava s navedenim razgraničičem. Baš kao što sama riječ znači da joj se trebaju pridružiti dva ili više nizova. Evo nekoliko ulova s ​​tim. Nizovi su u nizu, a koristi i razlučivač kao funkciju spajanja. Ali razlučivač za konkanatnu funkciju može biti različit između bilo koje dvije žice, jer moramo dodati jedan razgraničnik između svaka dva niza pomoću funkcije pridruživanja. Ali za Join in VBA moramo postaviti razgraničenje samo jednom. Taj razdjelnik koristi se za pridruživanje svakog niza. Ali ovaj je parametar također izborni. Pa što se događa kad ne pružimo razgraničitelj funkciji? Kad ne dodijelimo razgraničitelj funkciji, ona podrazumijeva „razmak“ kao razgraničnik.

Sintaksa funkcije pridruživanja u Excelu VBA

Funkcija pridruživanja ima sljedeću sintaksu u Excelu VBA:

Doznajmo sada argumente za funkciju pridruživanja VBA,

  • Izvor Array: To je niz ili niz stringova koji želimo spojiti.
  • Razdjelnik: Ovo je razlučivač ili znak koji koristimo za razlikovanje jednog niza od drugog. Razdjeljivač može biti razmak, zarez ili potpuno zaustavljanje ili bilo koji znak s našeg računala.

Izlaz koji vraća ova funkcija je niz.

Kako koristiti Excel VBA funkciju pridruživanja?

Naučit ćemo kako koristiti funkciju VBA Join s nekoliko primjera u Excelu.

Možete preuzeti ovaj VBA Pridružite se Excel predlošku ovdje - VBA Pridružite se Excel predlošku

Excel VBA Join - Primjer # 1

Najprije počnimo s osnovnim primjerom. Na listu 1. nalazimo put datoteke spremljene u različitim ćelijama našeg radnog lista. Želimo ukupnu putanju do tog mjesta u drugoj ćeliji. Put koji treba spojiti je sljedeći,

Želimo put u ćeliji E2. Slijedite dolje navedene korake za korištenje funkcije pridruživanja u Excelu VBA.

Korak 1: Idite na karticu programera, a zatim kliknite na basic basic da biste mogli ući u VB uređivač.

Korak 2: Kliknite karticu za umetanje i umetnite modul u VBA projekt.

Korak 3: Sada ćemo proglasiti svoj prvi podproces kako slijedi.

Kodirati:

 Sub Primjer () Kraj Sub 

Korak 4: Budući da imamo podatke sa sobom, možemo jednostavno koristiti vrijednost svojstva raspona da bismo se pridružili putu na sljedeći način.

Kodirati:

 Pod-primjer () Raspon ("E2") Vrijednost = Kraj sub 

Korak 5: Upotrijebite funkciju Join za pridruživanje svih nizova zajedno s razgraničicom kao "\".

Kodirati:

 Pod-primjer () Raspon ("E2"). Vrijednost = Pridruži se (Niz (raspon ("A2"). Vrijednost, raspon ("B2"). Vrijednost, raspon ("C2"). Vrijednost, raspon ("D2") .Value), "\") Kraj Sub 

Korak 6: Pokrenite gornji kôd pritiskom na tipku F5 ili klikom na gumb Reproduciraj i pokrenuli ćemo svoj rezultat u ćeliji E2 kao što je prikazano u nastavku.

Vidimo da su sva četiri niza spojena s zajedničkim razgraničičem koji je "\".

Excel VBA Join - Primjer # 2

Krenimo naprijed s praktičnim primjerom. Na jednom listu imam imena učenika, ocjene i propusnice ili pogreške. Želimo napraviti zasebnu mapu s datotekama koja sadrži je li student prošao ili nije uspio ili je dobio ocjenu. Za to ćemo posuditi neke od koncepata FSO (Objekti datotečnog sustava) pomoću funkcije pridruživanja. Pa, podaci izgledaju kao jedan dolje.

Slijedite dolje navedene korake za korištenje funkcije pridruživanja u Excelu VBA.

Korak 1: U istom modulu pokrenimo još jedan podprocesu na sljedeći način.

Kodirati:

 Sub Primjer2 () Kraj Sub 

2. korak: Proglasite dvije varijable kao FSO i textstream što je metoda FSO kako slijedi.

Kodirati:

 Dim FSO kao novi Scripting.FileSystemObject Dim St As Scripting.TextStream 

Korak 3: Sada ćemo proglasiti još neke varijable, Jedna kao raspon za držanje redaka i druga kao cijeli broj za držanje stupaca, a druga kao String za pohranu pridružene vrijednosti niza i Put mape i jedna za stvaranje imena datoteka.

Kodirati:

 Dim rw As Range Dim res As Gudački Dim col Kao Integer Dim FolPath Kao String Dim Rezultat kao String 

4. korak: Budući da imamo podatke u listu 2, najprije aktivirajte list 2.

Kodirati:

 Radni listovi ( "Sheet2"). Aktivirajte 

Korak 5: Sada prebrojmo broj stupaca u podacima kako slijedi,

Kodirati:

 col = domet ("A1"). CurrentRegion.Columns.Count 

Korak 6: Dodijelimo put Folpathu pomoću funkcije Informacije ENVIRON na sljedeći način.

Kodirati:

 FolPath = okružje ("UserProfile") & "\ Desktop \ Result" 

Korak 7: Provjerimo postoji li mapa ili ne, a ako ne, onda ćemo je kreirati pomoću FSO metode kako slijedi.

Kodirati:

 Ako nije FSO.FolderExists (FolPath), tada FSO.CreateFolder FolPath 

Korak 8: Dodajmo imena pohranjena pomoću offset funkcije na sljedeći način.

Kodirati:

 Za svaki red u rasponu ("A2", raspon ("A1"). Kraj (xlDown)) Rezultat = rw.Offset (0, 1) .Value 

Ovo će istovremeno otvoriti datoteke s imenima u načinu dodavanja, gdje će se posljednje dodati nove vrijednosti. Gornji kôd upotrijebili smo tako da će vrijednost rezultata biti dodijeljena jedan po jedan.

Korak 9: Budući da funkcija Join koristi 1-D niz, mi ćemo koristiti application.transpose funkciju s funkcijom pridruživanja kako bismo je pretvorili u 1-D niz kako slijedi.

Kodirati:

 Postavite St = FSO.OpenTextFile (FolPath & "\" & Result & ".xls", ForAppending, True) res = pridruži se (Application.Transpose (Application.Transpose (rw.Resize (1, col) .Value)), vbTab ) St.WriteLine res 

Zašto smo koristili application.transpose? Jer općenito raspon polja (1-D) mora biti vodoravni, što znači da jedan red ima mnogo stupaca. Budući da imamo vertikalni raspon ovdje u stupcu B, rezultat je koji smo koristili ovu značajku transponiranja kako bismo je pretvorili u 1-D niz. VbTab smo koristili kao razgraničnik, tako da su vrijednosti u sljedećim ćelijama.

Korak 10: Prije nego što završimo za petlju, zatvorimo datoteku, a zatim završimo petlju na sljedeći način.

Ukupni kôd izgleda poput dolje navedenog.

Kodirati:

 Pod-primjer2 () Dim FSO kao novi Scripting.FileSystemObject Dim St kao Scripting.TextStream Dim rw As Range Dim res As String Dim col As Integer Dim FolPath As String Dim Result as String Worksheets ("Sheet2"). Aktiviraj col = Range (" A1 ". A1 "). Kraj (xlDown)) Rezultat = rw.Offset (0, 1) .Value Set St = FSO.OpenTextFile (FolPath &" \ "& Result &" .xls ", ForAppending, True) res = pridruži se (aplikacija .Transpose (Application.Transpose (rw.Resize (1, col) .Value)), vbTab) St.WriteLine res St.Close Next rw Kraj Sub 

Korak 11: Sada pokrenimo gornji kôd pritiskom na tipku F5, na radnoj površini možemo vidjeti da je stvorena mapa s imenom rezultata kao što je prikazano u nastavku.

12. korak: Otvorite mapu, imat ćemo tri datoteke kao Pass, Fail i Grace.

Ako otvorimo bilo koju od datoteka, recimo da otvorimo datoteku Fail, možemo vidjeti podatke za studente koji nisu uspjeli.

Stvari koje treba zapamtiti

  • Koristi se za spajanje nizova niza s uobičajenim razgraničnikom.
  • Izlaz koji vraća ova funkcija je String.
  • Suprotno je splitskoj funkciji u VBA.
  • Ako ne pružimo razgraničitelj ovoj funkciji, on podrazumijeva „razmak“ kao razgraničnik.
  • Niz u argumentu trebao bi biti jednodimenzionalni niz. Ako ne, možemo koristiti konvencionalne metode primjene.premjestiti kao što je objašnjeno u primjeru 2.

Preporučeni članci

Ovo je vodič za VBA funkciju pridruživanja. Ovdje smo raspravljali o načinu korištenja funkcije pridruživanja u Excelu pomoću VBA koda zajedno s praktičnim primjerima i besplatnim excel predložakom. Možete i pregledati naše druge predložene članke -

  1. Funkcija datuma Excela
  2. Objedinite žice u Excelu
  3. Prijave VBA unije
  4. Excel objedinjavaju stupci

Kategorija: