Excel VBA Join Function

Funkcija VBA JOIN se uporablja za združevanje niza podpostavk z določenim ločevalcem. Tako kot beseda sama pomeni, da se ji mora pridružiti dva ali več strun. Zdaj je nekaj ulova z njim. Nizi so v matriki in kot kontakata uporablja tudi ločilo. Toda razmejitvena funkcija za konkanatno funkcijo se lahko razlikuje med kateri koli dve struni, ker moramo z uporabo konkanatne funkcije zagotoviti en ločnik med dvema nizoma. Toda pri Join in VBA moramo določiti ločilo le enkrat. Ta ločnica se uporablja za povezavo vsakega niza. Toda ta parameter je tudi neobvezen. Kaj se torej zgodi, ko funkciji ne damo ločitve? Kadar funkciji ne damo ločevalnika, privzeto vzame »prostor« kot ločilo.

Sintaksa funkcije pridružitve v Excelu VBA

Funkcija pridruživanja ima v Excelu VBA naslednjo skladnjo:

Zdaj pa razumemo argumente za funkcijo VBA Join,

  • Izvorna matrika: To je niz ali niz nizov, ki jih želimo združiti.
  • Delititer: To je ločitev ali znak, ki ga uporabljamo za razlikovanje enega niza v drugega. Ločilo je lahko presledek, vejica ali popolna zaustavitev ali kateri koli znak iz našega računalnika.

Izhod, ki ga vrne ta funkcija, je niz.

Kako uporabljati funkcijo pridruživanja Excelu VBA?

Spoznali bomo uporabo funkcije VBA Join z nekaj primeri v Excelu.

To VBA Pridružite se predlogi Excela lahko prenesete tukaj - VBA Pridružite se predlogi Excela

Excel VBA Join - Primer # 1

Najprej začnimo z osnovnim primerom. V datoteki 1. imamo pot do datoteke, shranjene v različnih celicah našega delovnega lista. Želimo skupno pot do te lokacije v drugi celici. Pot, ki jo je treba združiti, je naslednja,

Želimo pot v celici E2. Sledite spodnjim korakom za uporabo funkcije Pridruži se v Excelu VBA.

1. korak: Pojdite na zavihek razvijalca in kliknite na vizualno osnovno, da lahko vstopite v urejevalnik VB.

2. korak: Kliknite na jeziček vstavite in v projekt VBA vstavite modul.

Korak 3: Zdaj naj razglasimo svoj prvi podproces.

Koda:

 Sub Primer () Konec Sub 

4. korak: Ker imamo podatke s seboj, lahko preprosto uporabimo vrednost lastnosti obsega, da se pridružimo poti na naslednji način.

Koda:

 Pod-primer () Obseg ("E2") Vrednost = Končni pod 

5. korak: Uporabite funkcijo Join, da združite vse nize skupaj z ločilnikom kot "\".

Koda:

 Pod-primer () Obseg ("E2"). Vrednost = Pridružite se (Array (obseg ("A2"). Vrednost, območje ("B2"). Vrednost, obseg ("C2"). Vrednost, obseg ("D2") .Value), "\") Končni pod 

6. korak: Zaženite zgornjo kodo s pritiskom na tipko F5 ali s klikom na gumb Predvajaj teči in rezultat bo v celici E2, kot je prikazano spodaj.

Vidimo, da so vsi štirje nizi združeni s skupnim ločevalnikom, ki je "\".

Excel VBA Join - Primer # 2

Pojdimo naprej s praktičnim primerom. Na enem listu imam ime študenta, oznake in dovoljenje ali napako. Želimo narediti ločeno mapo z datotekami, ki vsebujejo, ali je študent opravil ali ni uspel ali je bil odobren. Za to si bomo izposodili nekatere koncepte FSO (Objects File System) s pomočjo funkcije pridruživanja. No, podatki izgledajo kot spodaj.

Sledite spodnjim korakom za uporabo funkcije Pridruži se v Excelu VBA.

1. korak: V istem modulu zaženimo še en podproces, kot sledi.

Koda:

 Sub Primer2 () Konec Sub 

2. korak: Označite dve spremenljivki kot FSO in textstream, kar je metoda FSO, kot sledi.

Koda:

 Dim FSO kot nov Scripting.FileSystemObject Dim St kot Scripting.TextStream 

Korak 3: Zdaj razglasimo še nekaj spremenljivk, ena kot obseg, ki vsebuje vrstice, in druga kot celo število za zadrževanje stolpcev, druga pa kot String za shranjevanje pridružene vrednosti niza in pot mape in ena za ustvarjanje imen datotek.

Koda:

 Dim rw As Range Dim res As String Dim col Kot Integer Dim FolPath As String Dim Rezultat kot String 

4. korak: Ker imamo podatke v listu 2, najprej aktiviramo list 2.

Koda:

 Delovni listi ("Sheet2") 

5. korak: Zdaj preštejmo število stolpcev v podatkih, kot sledi,

Koda:

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

6. korak: Zdaj dodamo pot Folpathu s pomočjo funkcije Informacije ENVIRON, kot sledi.

Koda:

 FolPath = okolje ("UserProfile") & "\ Desktop \ Result" 

7. korak: Zdaj preverimo, ali mapa obstaja ali ne, in če ne, potem jo ustvarimo po metodi FSO, kot sledi.

Koda:

 Če ni FSO.FolderExists (FolPath), potem FSO.CreateFolder FolPath 

8. korak: Zdaj dodajmo imena, shranjena s funkcijo izravnave, kot sledi.

Koda:

 Za vsako rw v območju ("A2", obseg ("A1"). Konec (xlDown)) Rezultat = rw.Offset (0, 1) .Value 

Tako se bodo datoteke hkrati z imeni odprle v načinu za dodajanje, kjer bodo novejše vrednosti zadnje. Zgornjo kodo smo uporabili tako, da bo vrednost rezultata dodeljena ena za drugo.

Korak 9: Ker funkcija Join uporablja 1-D matriko, bomo uporabili funkcijo application.transpose s funkcijo pridruživanja, da jo pretvorimo v 1-D matriko na naslednji način.

Koda:

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

Zakaj smo uporabili application.transpose? Ker mora biti območje niza (1-D) vodoravno, kar pomeni, da ima ena vrstica veliko stolpcev. Ker imamo tukaj v stolpcu B navpični razpon, smo to funkcijo uporabili za pretvorbo v 1-D matriko. VbTab smo uporabili kot ločilo, tako da so vrednosti v naslednjih celicah.

Korak 10: Preden končamo zanko za zanko, zaprimo datoteko in zaključimo zanko, kot sledi.

Celotna koda je videti spodaj.

Koda:

 Podprimer2 () Dim FSO kot nov Scripting.FileSystemObject Dim St kot 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 "). CurrentRegion.Columns.Count FolPath = Environment (" UserProfile ") &" \ Desktop \ Result "Če ni FSO.FolderExists (FolPath), potem FSO.CreateFolder FolPath za vsak rw v območju (" A2 ", obseg (" A1 "). Konec (xlDown)) Rezultat = rw.Offset (0, 1) .Value Set St = FSO.OpenTextFile (FolPath &" \ "& Result &" .xls ", ForAppending, True) res = pridruži (aplikacija .Transpose (Application.Transpose (rw.Resize (1, col) .Value)), vbTab) St.WriteLine res St.Close Next rw End Sub 

11. korak: Zdaj zaženimo zgornjo kodo s pritiskom na tipko F5, na namizju lahko vidimo, da je bila ustvarjena mapa z imenom Result, kot je prikazano spodaj.

12. korak: Odprite mapo, imeli bomo tri datoteke kot Pass, Fail in Grace.

Če odpremo katero od datotek, povejmo, da odpremo datoteko Fail, lahko vidimo podatke za študente, ki niso bili uspešni.

Stvari, ki jih je treba zapomniti

  • Uporablja se za združevanje nizov niz s skupnim ločevalnikom.
  • Izhod, ki ga vrne ta funkcija, je String.
  • V nasprotju s funkcijo Split v VBA.
  • Če ne določimo ločil za to funkcijo, privzeto vzame »prostor« kot ločilo.
  • Niz v argumentu naj bo enodimenzionalni niz. Če ne, lahko uporabimo običajne načine uporabe. Prestavite, kot je razloženo v primeru 2.

Priporočeni članki

To je vodnik za VBA Join Function. Tukaj smo razpravljali o uporabi funkcije Pridruži se funkciji v Excelu z uporabo VBA kode skupaj s praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Excel Datum funkcija
  2. Povežite strune v Excelu
  3. Prijave zveze VBA
  4. Stolpci za povezovanje v Excelu

Kategorija: