Excel VBA Liity toiminto

VBA JOIN -toimintoa käytetään yhdistämään joukko alimerkkijonoja määritetyn rajaajan kanssa. Aivan kuten sana itsessään tarkoittaa, sen on liityttävä kahteen tai useampaan merkkijonoon. Nyt tässä on muutama saalis sen kanssa. Merkkijonot ovat taulukossa, ja se käyttää myös erottinta liitännäistoimintoon. Mutta ketjutetun funktion rajaaja voi olla erilainen minkä tahansa kahden merkkijonon välillä, koska joudumme tarjoamaan yksi erotin jokaisen kahden merkkijonon väliin käyttämällä ketjutettua funktiota. Mutta Liity VBA: han, meidän on annettava rajaaja vain kerran. Tätä erotinta käytetään jokaisen merkkijonon liittymiseen. Mutta tämä parametri on myös valinnainen. Joten mitä tapahtuu, kun emme tarjoa funktion rajaajaa? Kun emme tarjoa toimintoa erottajalle, se vie oletusarvoisesti "välilyönnin" erottimeksi.

Liityntätoiminnon syntaksi Excel VBA: ssa

Liity-toiminnolla on seuraava syntaksi Excel VBA: ssa:

Ymmärrämme nyt VBA Join -toiminnon perusteet,

  • Lähdematriisi: Se on ryhmä tai merkkijonojoukko, jonka haluamme yhdistää.
  • Erotin: Tämä on erotin tai merkki, jolla erotamme merkkijonot toisiinsa. Erotin voi olla välilyönti tai pilkku tai piste tai jokin hahmo tietokoneelta.

Tämän toiminnon palauttama lähtö on merkkijono.

Kuinka käyttää Excel VBA Join Function -toimintoa?

Opimme käyttämään VBA Join -toimintoa muutaman esimerkin avulla Excelissä.

Voit ladata tämän VBA Join Excel -mallin täältä - VBA Join Excel Template

Excel VBA: n liittyminen - esimerkki # 1

Aloitetaan ensin perus esimerkillä. Meillä on tiedostopolku, joka on tallennettu laskentataulukon eri soluihin arkkiin 1. Haluamme kokonaispolun siihen sijaintiin toisessa solussa. Polku, joka on liitettävä yhteen, on seuraava,

Haluamme polun soluun E2. Noudata alla olevia vaiheita käyttääksesi Liity toiminto Excel VBA: ssa.

Vaihe 1: Siirry kehittäjän välilehdelle ja napsauta sitten Visual Basic, jotta pääset VB Editoriin.

Vaihe 2: Napsauta Lisää välilehti ja lisää moduuli VBA-projektiin.

Vaihe 3: Nyt julistetaan ensimmäinen osaprosessimme seuraavalla tavalla.

Koodi:

 Alaesimerkki () Loppu alaosaan 

Vaihe 4: Koska meillä on tietoja, voimme yksinkertaisesti käyttää alueominaisuuden arvoa liittyäksesi polulle seuraavasti.

Koodi:

 Alaesimerkki () Alue ("E2") .arvo = Loppuosa 

Vaihe 5: Käytä Liity-toimintoa, kun haluat yhdistää kaikki merkkijonot erottimen kanssa nimellä \.

Koodi:

 Alaesimerkki () Alue ("E2"). Arvo = Liity (Matriisi (Alue ("A2"). Arvo, Alue ("B2"). Arvo, Alue ("C2"). Arvo, Alue ("D2") .Value), "\") loppuosa 

Vaihe 6: Suorita yllä oleva koodi painamalla F5-näppäintä tai napsauttamalla Toista-painiketta ja saat tuloksen soluun E2 alla esitetyllä tavalla.

Voimme nähdä, että kaikki neljä merkkijonoa on liitetty yhteen yhteisen rajaajan, joka on “\”.

Excel VBA: n liittyminen - esimerkki 2

Mennään eteenpäin käytännön esimerkillä. Minulla on opiskelijan nimi, merkinnät ja pass tai hyläys yhdellä arkilla. Haluamme tehdä erillisen kansion tiedostoilla, jotka sisältävät sen, onko opiskelija läpäissyt vai epäonnistunut vai onko hänellä armo. Tätä varten lainataan joitain FSO: n (File System Objects) käsitteitä liittämistoiminnon avulla. Tiedot näyttävät seuraavan kaltaisilta.

Noudata alla olevia vaiheita käyttääksesi Liity toiminto Excel VBA: ssa.

Vaihe 1: Käynnistämme samassa moduulissa toisen osaprosessin seuraavasti.

Koodi:

 Alaesimerkki2 () Loppu alaosaan 

Vaihe 2: Ilmoita kaksi muuttujaa FSO: na ja text-stream, joka on FSO: n menetelmä seuraavasti.

Koodi:

 Dim FSO uudella komentosarjoilla.FileSystemObject Dim St komentosarjoina.TextStream 

Vaihe 3: Nyt julistetaan joitain lisää muuttujia, yksi alueena rivien pitämiseksi ja toinen kokonaislukuna sarakkeiden pitämiseksi, toinen merkkijonona yhdistetyn merkkijonoarvon ja kansion polun tallentamiseksi ja yksi tiedostojen nimien luomiseksi.

Koodi:

 Dim rw As Range Dim res kuin String Dim col Kokonaisluku Dim FolPath Kuten merkkijono Dim tulos kuin merkkijono 

Vaihe 4: Koska tiedot ovat taulukossa 2, aktivoidaan ensin arkki 2.

Koodi:

 Laskentataulukot ( "Taul2"). Aktivoi 

Vaihe 5: Lasketaan nyt tietojen sarakkeiden lukumäärä seuraavasti:

Koodi:

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

Vaihe 6: Määritämme nyt polku Folpathiin käyttämällä ENVIRON-informaatio-toimintoa seuraavasti.

Koodi:

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

Vaihe 7: Nyt tarkistetaan, onko kansio olemassa vai ei, ja jos ei, niin luotakaamme se FSO-menetelmällä seuraavasti.

Koodi:

 Jos ei, FSO.FolderExists (FolPath) sitten FSO.CreateFolder FolPath 

Vaihe 8: Nyt liitetään offset-toiminnolla tallennetut nimet seuraavasti.

Koodi:

 Jokaiselle alueella olevalle rw: lle ("A2", alue ("A1"). Loppu (xlDown)) Tulos = rw.Offset (0, 1) .Arvo 

Tämä avaa tiedostot nimillä samanaikaisesti lisäystilassa, jossa uudemmat arvot ovat viimeinen lisäys. Olemme käyttäneet yllä olevaa koodia niin, että tuloksen arvo määritetään yksi kerrallaan.

Vaihe 9: Koska Liity-toiminto käyttää 1-D-taulukkoa, käytämme application.transpose-toimintoa liittämistoiminnon kanssa muuntaaksesi sen 3D-taulukkona seuraavasti.

Koodi:

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

Miksi olemme käyttäneet sovellusta.transponentti? Koska yleensä taulukon (1-D) alueen on oltava vaakasuora, mikä tarkoittaa, että yhdellä rivillä on useita sarakkeita. Nyt kun meillä on pystysuora alue sarakkeessa B, mistä on seurausta tulosta, että olemme käyttäneet tätä transponointitoimintoa muuntaakseen sen 3D-taulukkoksi. Olemme käyttäneet VbTabia erottimena, jotta arvot ovat seuraavissa soluissa.

Vaihe 10: Ennen kuin päätät silmukan, suljetaan tiedosto ja lopeta silmukan silmukka seuraavasti.

Yleinen koodi näyttää alla olevalta.

Koodi:

 Alaesimerkki2 () himmentää FSO: aa uutena komentosarjoina.FileSystemObject himmentää kirjoitusta komentotiedostoina.TextStream Dim rw asteikolla himmennetään merkkijonona himmennyksenä kokonaislukuna himmennyksenä FolPath: merkkijono himmennyksen tuloksena merkkijonon taulukkoina ("Sheet2"). Aktivoi col = Range (" A1 "). CurrentRegion.Columns.Count FolPath = Environ (" UserProfile ") &" \ Desktop \ Result "Jos ei FSO.FolderExists (FolPath) Sitten FSO.CreateFolder FolPath jokaiselle rw alueella (" A2 ", Range (" A1 "). Loppu (xlDown)) Tulos = rw.Offset (0, 1) .Arvo Aseta 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 

Vaihe 11: Nyt ajaa yllä oleva koodi painamalla F5-näppäintä. Näemme työpöydällämme, että on luotu kansio, jonka nimi on Tulos alla olevan kuvan mukaisesti.

Vaihe 12: Avaa kansio, jossa meillä on kolme tiedostoa Pass, Fail ja Grace.

Jos avaamme jonkin tiedoston, sanotaan vain, että avaamme epäonnistuneen tiedoston, että näemme epäonnistuneiden opiskelijoiden tiedot.

Muistettavat asiat

  • Sitä käytetään merkkijonojoukon yhdistämiseen yhteisen rajoittimen kanssa.
  • Tämän toiminnon palauttama lähtö on merkkijono.
  • Se on vastapäätä split-toimintoa VBA: ssa.
  • Jos emme tarjoa erotinta tälle toiminnolle, se vie oletuksena erottimen "tila".
  • Argumentin taulukon tulisi olla yksiulotteinen taulukko. Jos ei, voimme käyttää tavanomaisia ​​sovellusmenetelmiä.transponoida kuten esimerkissä 2 selitetään.

Suositellut artikkelit

Tämä on opas VBA: n liittymistoimintoon. Tässä keskustellaan siitä, miten Liity-toimintoa voidaan käyttää Excelissä käyttämällä VBA-koodia, sekä käytännön esimerkkejä ja ladattavaa Excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Excel-päivämäärätoiminto
  2. Ketjutetut jouset Excelissä
  3. VBA Unionin hakemukset
  4. Excel-liitäntäsarakkeet

Luokka: