Excel VBA csatlakozási funkció

A VBA JOIN függvény egy sor sztring összevonására szolgál a megadott határolóval. Csakúgy, mint maga a szó azt jelenti, hogy két vagy több karakterlánchoz kell csatlakoznia. Most itt van néhány fogás vele. A karakterláncok tömbben vannak, és elválasztót is használ a komplexált függvényként. De a összefűzött függvény határolója eltérhet bármelyik húrok között, mivel a két összetett függvény használatával két sztring között meg kell határoznunk egy elválasztót. De a Csatlakozás a VBA-hez csak egyszer kell megadnunk a határolót. Ezt a határolót minden egyes karakterlánc csatlakozásához használják. De ez a paraméter nem kötelező. Tehát mi történik, ha nem adunk meg határoló funkciót? Ha nem adunk meg elválasztó funkciót a funkcióhoz, alapértelmezés szerint a „szóközt” választja el elválasztóként.

A Join Function szintaxisa az Excel VBA-ban

A Join funkció a következő szintaxissal rendelkezik az Excel VBA-ban:

Most értjük meg a VBA Join funkció érveit,

  • Forrás tömb: Ez egy tömb vagy karakterlánckészlet, amelyet össze akarunk kapcsolni.
  • Határtalanító: Ez a határoló, vagy a karakter, amellyel megkülönböztetjük az egyes karakterláncokat a másikon. A határoló lehet szóköz vagy vessző, pont vagy pont vagy bármely karakter a számítógépünkből.

A funkció által visszaadott kimenet egy karakterlánc.

Hogyan kell használni az Excel VBA Join funkciót?

Néhány példaként megtanuljuk a VBA Join funkció használatát.

Itt töltheti le a VBA Join Excel sablont - VBA Join Excel Template

Excel VBA csatlakozás - 1. példa

Először kezdjük egy alapvető példával. Van egy fájl elérési útja, amelyet a munkalap különböző celláiban tárolunk az 1. lapon. Teljes hely elérési útját akarjuk egy másik cellában. Az út, amelyet össze kell kötni, a következő,

Az utat akarjuk az E2 cellában. Kövesse az alábbi lépéseket a Csatlakozás funkció használatához az Excel VBA alkalmazásban.

1. lépés: Lépjen a fejlesztő lapjára, majd kattintson a Visual basic elemre, hogy bejuthasson a VB Szerkesztőbe.

2. lépés: Kattintson a beszúrás fülre, és illesszen be egy modult a VBA projektbe.

3. lépés: Most deklaráljuk az első alfolyamatunkat az alábbiak szerint.

Kód:

 Alpélda () Vége a Sub 

4. lépés: Mivel rendelkezésünkre állnak adatokkal, egyszerűen felhasználhatjuk a tartomány tulajdonság értékét az úthoz való csatlakozáshoz az alábbiak szerint.

Kód:

 Alpélda () tartomány ("E2") Érték = Befejezés Sub 

5. lépés: A Csatlakozás funkcióval egyesítheti az összes húrokat a határolóval, mint „\”.

Kód:

 Alpélda () Range ("E2"). Value = Join (Array (Range ("A2"). Value, Range ("B2"). Value, Range ("C2"). Value, Range ("D2") .Value), "\") Sub vége 

6. lépés: Futtassa a fenti kódot az F5 billentyű lenyomásával vagy a Play run gombra kattintással, így az E2 cellába jutunk, amint az alább látható.

Láthatjuk, hogy mind a négy karakterlánc össze van kötve egy közös határolóval, amely „\”.

Excel VBA csatlakozás - 2. példa

Haladjunk tovább egy gyakorlati példával. Egy lapon van a hallgató neve, jelölése és átadása vagy sikertelensége. Külön mappát szeretnénk létrehozni azokkal a fájlokkal, amelyek tartalmazzák, hogy a hallgató sikeres volt-e, vagy sikertelen volt-e, vagy odaadott-e. Ehhez kölcsön veszünk az FSO (fájlrendszer objektumok) néhány fogalmát a join függvény segítségével. Nos, az adatok a következőképp néznek ki.

Kövesse az alábbi lépéseket a Csatlakozás funkció használatához az Excel VBA alkalmazásban.

1. lépés: Ugyanebben a modulban indítsuk el az alábbiak szerint egy további alprocesszort.

Kód:

 2. alpélda () Vége albekezdés 

2. lépés: Nyisson meg két változót FSO-ként és szöveges streamként, amely az FSO egyik módszere az alábbiak szerint.

Kód:

 DIM FSO mint új szkript.FileSystemObject Dim St mint szkript.TextStream 

3. lépés: Most deklaráljunk néhány további változót, az egyiket a sorok tartására szolgáló tartományként, a másik az egészét az oszlopok tartására, a másik pedig a „String” elemet az összekapcsolt karakterlánc érték és a Mappa elérési útjának tárolására, a másik pedig a fájlnevek létrehozására.

Kód:

 Dim rw As Range Dim res as String Dim col Egész szám Dim FolPath as String Dim eredmény mint string 

4. lépés: Mivel az adatok a 2. lapon vannak, először aktiváljuk a 2. lapot.

Kód:

 Munkalapok ( "Munka2"). Activate 

5. lépés: Most az alábbiak szerint számoljuk meg az adatban lévő oszlopok számát,

Kód:

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

6. lépés: Most rendeljünk egy utat a Folpath-hoz, az ENVIRON információs funkció segítségével, az alábbiak szerint.

Kód:

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

7. lépés: Most ellenőrizze, létezik-e a mappa vagy sem, és ha nem, akkor hozzuk létre az FSO módszerrel az alábbiak szerint.

Kód:

 Ha nem az FSO.FolderExists (FolPath), akkor az FSO.CreateFolder FolPath 

8. lépés: Most az alábbiak szerint csatoljuk az eltolás funkcióval tárolt neveket.

Kód:

 Minden tartományon belüli rw-re ("A2", tartomány ("A1"). Vége (xlDown)) Eredmény = rw.Offset (0, 1) .Érték 

Ezzel egyidejűleg megnyitja a nevekkel ellátott fájlokat függelék üzemmódban, ahol az újabb értékek lesznek az utoljára csatolva. A fenti kódot úgy használtuk, hogy az eredmény értékét egyenként rendezzük.

9. lépés: Most, hogy a Join függvény egydimenziós tömböt használ, az application.transpose függvényt fogjuk használni a join funkcióval, hogy átalakítsuk egydimenziós tömbként az alábbiak szerint.

Kód:

 Állítsa be az St = FSO.OpenTextFile fájlt (FolPath & "\" & Result & ".xls", ForAppend, True) res = Join (Application.Transpose (Application.Transpose (rw.Resize (1, col) .Value))), vbTab ) St.WriteLine res 

Miért használtuk az application.transpose-t? Mivel a tömb (1-D) tartományának általában vízszintesnek kell lennie, ami azt jelenti, hogy egy sornak sok oszlop van. Most, hogy itt van egy függőleges tartomány a B oszlopban, ennek eredményeként ezt az átültetési funkciót használtuk egydimenziós tömbbé konvertálására. A VbTab-t elválasztóként használtuk, hogy az értékek a következő cellákban legyenek.

10. lépés: Mielőtt befejeznénk a for hurkot, zárjuk be a fájlt, majd fejezzük be a hurkot az alábbiak szerint.

A teljes kód úgy néz ki, mint az alábbiak.

Kód:

 2. alpélda () FIS FSO mint új szkriptálás.FileSystemObject Dim St mint szkriptálás.TextStream Dim rw as Range Dim res as String Dim col egész szám Dim FolPath as String Dim eredmény String Worksheet ("Sheet2") aktiválása col = Range (" A1 "). CurrentRegion.Columns.Count FolPath = Environ (" UserProfile ") &" \ Desktop \ Result "Ha nem FSO.FolderExists (FolPath), akkor FSO.CreateFolder FolPath minden tartományon belüli rw (" A2 ", Range (" A1 "). Vége (xlDown)) Eredmény = rw.Offset (0, 1). Érték beállítása St = FSO.OpenTextFile (FolPath &" \ "& Result &" .xls ", ForAppend, True) res = Join (Application) .Transpose (Application.Transpose (rw.Resize (1, col) .Value)), vbTab) St.WriteLine res St.Close Next rw End Sub 

11. lépés: Most futtassa a fenti kódot az F5 billentyű megnyomásával. Az asztalon láthatjuk, hogy az Eredmény nevű mappát hoztak létre az alább látható módon.

12. lépés: Nyissa meg a mappát, amelyben három fájl lesz, mint Pass, Fail és Grace.

Ha megnyitunk valamelyik fájlt, mondjuk csak azt, hogy megnyitjuk a Fail fájlt, láthatjuk a sikertelen hallgatók adatait.

Dolgok, amikre emlékezni kell

  • Egy karakterlánc-tömb csatlakoztatására szolgál egy közös elválasztóval.
  • A funkció által visszaadott kimenet String.
  • Ez ellentétes a Split funkcióval a VBA-ban.
  • Ha nem adunk meg határolót erre a funkcióra, akkor alapértelmezés szerint a „szóköz” elválasztóként szolgál.
  • Az argumentum tömbének egydimenziós tömbnek kell lennie. Ha nem, akkor használhatjuk a hagyományos alkalmazási módszereket. Átültetjük a 2. példában leírtak szerint.

Ajánlott cikkek

Ez egy útmutató a VBA csatlakozási funkcióhoz. Itt megvitatjuk, hogyan lehet használni a Join Function programot az Excel alkalmazásban a VBA kód használatával, valamint a gyakorlati példákat és a letölthető Excel sablont. Megnézheti más javasolt cikkeinket -

  1. Excel dátum funkció
  2. Összefűzött karakterláncok Excelben
  3. A VBA Union alkalmazásai
  4. Excel összefűző oszlopok

Kategória: