Exceli VBA liitumisfunktsioon

Funktsiooni VBA JOIN kasutatakse alamstringide massiivi ühendamiseks määratud eraldajaga. Nii nagu sõna ise tähendab, peab see liituma kahe või enama stringiga. Nüüd on siin paar saaki sellega. Stringid on massiivis ja see kasutab ka liitmina funktsioonina eraldajat. Kuid liitunud funktsiooni piiritleja võib kahe stringi vahel olla erinev, kuna peame pakkuma funktsioonina iga kahe stringi vahel ühe eraldaja. Kuid Liituge VBA-s peame eraldajaid pakkuma ainult üks kord. Seda eraldajat kasutatakse iga stringi liitumiseks. Kuid see parameeter on ka valikuline. Mis saab siis, kui me funktsiooni piiritlejat ei paku? Kui me funktsiooni ei eralda, võetakse vaikimisi eraldajana tühik.

Liitumisfunktsiooni süntaks Excel VBA-s

Liitumisfunktsioonil on Excel VBA-s järgmine süntaks:

Mõistagem nüüd funktsiooni VBA Liitu argumente,

  • Lähtemassiiv: see on massiiv või stringide komplekt, millega tahame liituda.
  • Eraldaja: see on eraldaja või märk, mida me kasutame ühe stringi eristamiseks teiselt poolt. Piiritleja võib olla tühik, koma või punkt või mis tahes märk meie arvutist.

Selle funktsiooni tagastatud väljund on string.

Kuidas kasutada Exceli VBA liitumisfunktsiooni?

Õpime kasutama VBA liitumisfunktsiooni koos mõne näitega Excelis.

Selle VBA Join Exceli malli saate alla laadida siit - VBA Join Exceli mall

Excel VBA Liitu - näide nr 1

Esiteks alustame põhinäitega. Faili tee on salvestatud töölehe eri lahtritesse 1. lehele. Tahame, et sellesse kohta oleks täielik tee teises lahtris. Ühendatav tee on järgmine:

Tahame rada lahtrisse E2. Excel VBA-s funktsiooni Liitu funktsioon kasutamiseks toimige järgmiselt.

1. samm: minge arendaja vahekaardile ja klõpsake siis käsul Visual Basic, et pääseda VB redigeerijasse.

2. samm: klõpsake vahekaarti Insert ja sisestage moodul VBA projekti.

3. samm: kuulutagem nüüd välja oma esimene alamprotsess järgmiselt.

Kood:

 Alamnäide () lõpp alam 

4. samm: kuna meil on andmeid, saame teekonnaga liitumiseks kasutada lihtsalt vahemiku omaduse väärtust järgmiselt.

Kood:

 Alamnäide () Vahemik ("E2"). Väärtus = lõpp alam 

5. samm: kasutage funktsiooni Liitu, et liita kõik stringid koos eraldajaga „\”.

Kood:

 Alamnäide () Vahemik ("E2"). Väärtus = Liitu (Massiiv (Vahemik ("A2"). Väärtus, Vahemik ("B2"). Väärtus, Vahemik ("C2"). Väärtus, Vahemik ("D2") .Väärtus), "\") lõpu alam 

6. samm: käivitage ülaltoodud kood, vajutades klahvi F5 või klõpsates nuppu Esita käivitamine, ja tulemuseks on lahter E2, nagu allpool näidatud.

Näeme, et kõik neli stringi on ühendatud ühise eraldajaga, mis on \.

Excel VBA Liitu - näide nr 2

Liigume edasi praktilise näitega. Mul on ühel lehel õpilase nimi, märgid ja pass või läbikukkumine. Tahame teha eraldi kausta failidega, kus oleks kirjas, kas õpilane on möödunud või ebaõnnestunud või on ta armunud. Selle jaoks laename mõned funktsioonid FSO (failisüsteemi objektid), kasutades liitumisfunktsiooni. Need andmed on järgmised:

Excel VBA-s funktsiooni Liitu funktsioon kasutamiseks toimige järgmiselt.

1. samm: alustame samas moodulis järgmist alamprotseduuri järgmiselt.

Kood:

 Alamnäide2 () lõpp alamnäide 

2. samm: kuulutage kaks muutujat kui FSO ja tekstivoog, mis on FSO meetod järgmiselt.

Kood:

 DIM FSO uue skriptina.FileSystemObject Dim St skriptina.TextStream 

3. samm: kuulutagem veel mõned muutujad, üks vahemikuna ridade hoidmiseks ja teine ​​täisarvuna veergude hoidmiseks, teine ​​aga stringina ühendatud stringi väärtuse ja kausta tee salvestamiseks ning üks failinimede loomiseks.

Kood:

 Dim rw As Range Dim res as String Dim col Täisarv Dim FolPath as String Dim result as String 

4. samm: kuna andmed on lehel 2, aktiveerime kõigepealt lehe 2.

Kood:

 Töölehed ("Leht2"). Aktiveerige 

5. samm: loendage nüüd andmetes sisalduvate veergude arv järgmiselt:

Kood:

 col = vahemik ("A1"). praegune piirkond.veerud.loendus 

6. samm: määrakem nüüd funktsioon ENVIRON, kasutades Folpath'i teed, järgmiselt.

Kood:

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

7. samm. Nüüd kontrolligem, kas kaust on olemas ja kui mitte, siis looge see FSO-meetodil järgmiselt.

Kood:

 Kui ei, siis FSO.FolderExists (FolPath), siis FSO.CreateFolder FolPath 

8. samm: Lisage nüüd nihkefunktsiooni abil salvestatud nimed järgmiselt.

Kood:

 Iga vahemikus oleva rw ("A2", vahemik ("A1"). Lõpp (xlDown)) tulemus = rw.Offset (0, 1) .Väärtus 

See avab failide nimedega üheaegselt lisamisrežiimis, kus uuemad väärtused lisatakse viimasena. Oleme ülaltoodud koodi kasutanud nii, et tulemuse väärtus omistatakse ükshaaval.

9. samm: Kuna liitumisfunktsioon kasutab 1-D massiivi, siis kasutame funktsiooni ühendamisfunktsiooni application.transpose, et teisendada see 1-D massiivina järgmiselt.

Kood:

 Määrake St = FSO.OpenTextFile (FolPath & "\" & Result & ".xls", ForAppend, True) res = Liitu (Application.Transpose (Application.Transpose (rw.Resize (1, col) .Value))), vbTab ) St.WriteLine res 

Miks oleme kasutanud rakendust.transpordi? Kuna üldiselt peab massiivi (1-D) vahemik olema horisontaalne, mis tähendab, et ühel real on palju veerge. Kuna meil on siin veerus B vertikaalne vahemik, siis oleme selle transponteerimisfunktsiooni abil teisendanud selle 3D-massiiviks. Oleme eraldajana kasutanud VbTab, nii et väärtused on järgmistes lahtrites.

10. samm: enne silmuse lõppu sulgege fail ja lõpetage silmuse vorming järgmiselt.

Üldine kood näeb välja selline, nagu allpool.

Kood:

 Alamnäide2 () Tühjendage FSO kui uus skriptimine.FileSystemObject Dim St kui skriptimine.TextStream Dim rw As Range Dim res as String Dim col Nagu Integer Dim FolPath as String Dim Result as String töölehed ("Sheet2"). Aktiveerige col = Range (" A1 "). CurrentRegion.Columns.Count FolPath = Environ (" UserProfile ") &" \ Desktop \ Result "Kui ei ole FSO.FolderExists (FolPath) Siis FSO.CreateFolder FolPath iga vahemikus oleva rw (" A2 ", Range (" A1 "). Lõpp (xlDown)) Tulemus = rw.Offset (0, 1) .Väärtuse väärtus St = FSO.OpenTextFile (FolPath &" \ "& Result &" .xls ", ForAppend, True) res = Liitu (rakendus .Transpordi (rakendus.Transpordi (rw.Resize (1, col) .Value)), vbTab) St.WriteLine res St.Sulge järgmine rw End Sub 

11. samm: Nüüd käivitame ülaltoodud koodi, vajutades klahvi F5, näeme oma töölaual, et kausta on loodud nimi Tulemus, nagu allpool näidatud.

12. samm: avage kaust, milles on kolm faili: Pass, Fail ja Grace.

Kui avame mõne faili, ütleme lihtsalt, et avame faili Fail, siis näeme läbikukkunud õpilaste andmeid.

Asjad, mida meeles pidada

  • Seda kasutatakse stringi massiivi ühendamiseks ühise eraldajaga.
  • Selle funktsiooni tagastatud väljund on string.
  • See on vastupidine jagatud funktsioonile VBA-s.
  • Kui me sellele funktsioonile eraldajat ei paku, võetakse vaikimisi eraldajana tühik.
  • Argiviivi massiiv peaks olema ühemõõtmeline massiiv. Kui ei, siis saame kasutada tavapäraseid rakendusmeetodeid. Ülevõtmine toimub nagu on selgitatud näites 2.

Soovitatavad artiklid

See on VBA liitumisfunktsiooni juhend. Siin arutleme, kuidas kasutada Exceli funktsiooni Liitu funktsiooniga, kasutades VBA koodi koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. Exceli kuupäeva funktsioon
  2. Keelte stringid Excelis
  3. VBA Liidu taotlused
  4. Exceli liiteveerud

Kategooria: