Kuinka käyttää ketjuttamista Excel VBA: ssa (4 menetelmää)?

  • Jaa Tämä
Hugh West

Excelissä ketjuttaminen tarkoittaa kahden merkkijonon yhdistämistä yhdeksi merkkijonoksi. Yksinkertaisesti sanottuna, jos meillä on taulukko, jossa on etunimet yhdessä sarakkeessa ja sukunimet toisessa sarakkeessa, voimme käyttää ketjuttamismenettelyä ketjuttamaan ja yhdistämään ne yhteen soluun sekunnin murto-osassa. Excelissä on funktio nimeltä CONCATENATE () jonka avulla voimme tehdä tämän ketjuttamisen. Kuitenkin vuonna VBA , tämäntyyppinen funktio ei ole sallittu. Emme voi käyttää CONCATENATE () VBA-koodissa, koska se ei toimi. Koska VBA ei ole sisäänrakennettuja funktioita, emmekä voi käyttää taulukkolaskentafunktioita. Joten tällä oppitunnilla näytetään, miten käyttää VBA Yhdistämällä voit yhdistää useita soluja, sarakkeita ja rivejä Excelissä.

Lataa harjoituskirja

Lataa tämä harjoituskirja, jotta voit harjoitella tätä artikkelia lukiessasi.

VBA:n ketjutusfunktio.xlsm

Johdatus VBA:n Concatenate-funktioon

Kuten olemme maininneet, että Excelillä ei ole mitään sisäänrakennettua toimintoa VBA:n Concatenate-toimintoa varten, mutta voimme tehdä siitä toiminnon yhdistämällä eri merkkijonoja operaattoreiden avulla. Tässä käytämme ampersandia. (&) operaattorina.

⟴ Syntaksi

String1 = " Ensimmäinen teksti"

String2 = " Toinen teksti"

⟴ Paluuarvo

Return_value = String1 & String2

4 VBA:n Concatenate-funktion eri käyttötarkoituksia Excelissä

Käytämme tässä 4 erilaista lähestymistapaa ketjutusprosessin suorittamiseen. Käytämme eri operaattoreita yhdistettynä seuraavasti VBA koodia tämän saavuttamiseksi.

1. Käytä Amperemerkki (&) -operaattoria solujen liittämiseen VBA:n Concatenate-operaattorissa

Kuten alla olevassa kuvakaappauksessa näkyy, meillä on kahden sarakkeen tiedonkeruu, jossa etunimet ovat yhdessä sarakkeessa ja sukunimet toisessa. Yhdistämällä nämä kaksi saraketta saamme nyt koko nimen. Koska VBA ei ole mitään sisäänrakennettuja metodeja ketjuttamiseen, käytämme amper-merkkiä (&) operaattori alla olevien ohjeiden mukaisesti.

Vaihe 1:

  • Paina ensin Alt + F11 avataksesi Makro-käytössä oleva laskentataulukko.
  • Napsauta sitten
  • Valitse Moduuli .

Vaihe 2:

  • Jos haluat yhdistää kaksi solua yhdeksi, kopioi ja liitä seuraava teksti. VBA
 Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 & String2 MsgBox (full_string) End Sub 

Täällä,

  • String1 = Solut(5, 2).Arvo on ensimmäisen solun sijainti B5 , rivi 5, ja sarake 2 .
  • String2 = Solut(5, 3).Arvo on toisen solun sijainti C5 , rivi 5, ja sarake 3 .
  • Cells(5, 5).Value = String1 & String2 on tulossolun sijainti E5 , rivi 5 ja sarake 5 .
  • String1 & String2 ovat kaksi merkkijonoa, jotka on yhdistetty amperandilla. (&)

Vaihe 3:

  • Tallenna ja paina F5 ohjelman suorittamiseksi.

Siksi saat tuloksen E5 solu nykyisessä laskentataulukossa.

Vaihe 4:

  • Seuraa ja toista vaiheet lopuille soluille ja saat alla olevan kuvan mukaiset tulokset.

Huom. Suorittaminen VBA koodia, varmista joka kerta, että Excel-tiedosto on tallennettu Excel-tiedostoon Makrotoiminnoilla varustettu laskentataulukko (xlsm.) muodossa.

Lue lisää: VBA StrCompin käyttö Excelissä (5 yleistä esimerkkiä)

2. Käytä Plus (+) -operaattoria solujen yhdistämiseen VBA:n Concatenate-ohjelmassa.

Kuten edellisessä kappaleessa kuvattiin, olemme käyttäneet merkkiä ampersand (&) operaattorilla solujen merkkijonojen yhdistämiseen. Saman tuloksen saat käyttämällä plus-operaattoria (+) merkki amperandan sijasta (&) operaattori. Se tehdään seuraavasti.

Vaihe 1:

  • Avaa Makro Excelissä, paina Alt + F11 .
  • Klikkaa Lisää ja valitse
  • Kun olet avannut ohjelmasivun, liitä seuraava teksti VBA
 Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 + String2 MsgBox (full_string) End Sub 

Tässä,

  • Cells(5, 5).Value = String1 + String2 on tämä linja, jota käytämme plus (+) merkki amperandan sijasta (&)

Vaihe 2:

  • Kun olet liittänyt, tallenna ja paina F5 Näin ollen näet muutoksen solun E5 .

  • Lopullisten tulosten saamiseksi täytä tarvittavat solut suorittamalla edelliset vaiheet uudelleen.

Lue lisää: VBA StrConv -funktion käyttäminen (5 esimerkkiä)

Samanlaisia lukemia:

  • Kuinka kutsua VBA:n aliohjelma Excelissä (4 esimerkkiä)
  • Arvon palauttaminen VBA-funktiossa (sekä array- että muut kuin array-arvot)
  • VBA DIR -funktion käyttäminen Excelissä (7 esimerkkiä)
  • Käytä VBA UCASE -funktiota Excelissä (4 esimerkkiä)
  • InStr-funktion käyttäminen VBA:ssa (3 esimerkkiä)

3. Lisää useita sarakkeita käyttämällä VBA:n Concatenate-ohjelmaa

Kahdessa edellisessä lähestymistavassa keskustelimme siitä, miten kaksi solua yhdistetään. Jos haluamme kuitenkin soveltaa sitä koko sarakkeeseen, yksi kerrallaan lisääminen vie kauan aikaa. Opetamme sinulle, miten useita sarakkeita voidaan lisätä kokonaan komennolla VBA koodi tätä varten.

Vaihe 1:

  • Ensinnäkin, avataksesi Makro paina Alt + F11
  • Valitse Moduuli alkaen Lisää välilehti
  • Liitä sitten seuraava VBA
 Sub ConcatCols() 'Yhdistä sarakkeet B & C sarakkeeseen E Dim LastRow As Long With Worksheets("Sheet3") LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row With .Range("E5:E" & LastRow) .Formula = "=B5&C5" .Value = .Value End With End With End Sub 

Täällä,

  • With Taulukot("Sheet3") on nykyisen työarkin nimi.
  • LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row on ensimmäisen sarakkeen nimi.
  • With .Range("E5:E" & LastRow) on tuloksen palautussolualue.
  • .Formula = "=B5&C5" on kaava, jolla liitetään alueen ensimmäinen solu.

Vaihe 2:

  • Tallenna sitten lopuksi ja paina F5 ohjelman suorittamiseksi.

Tuloksena saat tulokset kokonaan sarakkeessa.

Lue lisää: VBA Rndin käyttö Excelissä (4 menetelmää)

4. Liitä useita rivejä käyttämällä VBA:n Concatenate-toimintoa

Useiden sarakkeiden lisäämisen lisäksi voimme myös soveltaa VBA koodi useiden rivien yhdistämiseksi yhdeksi. Kuten alla olevassa kuvakaappauksessa näkyy, haluamme yhdistää kolme riviä yhdeksi. Voit yhdistää rivit noudattamalla alla olevia yksinkertaisia ohjeita.

Vaihe 1:

  • Aktivoimiseksi Makro Excelissä, paina Alt + F11 .
  • Valitse sitten Moduuli alkaen Lisää
  • Jos haluat liittää rivit yhteen, liitä komento VBA
 Sub vba_concatenate() Dim rng As Range Dim i As String Dim SourceRange As Range Set SourceRange = Range("B5:D5") For Each rng In SourceRange i = i & rng & " " Next rng Range("B8").Value = Trim(i) End Sub 

Täällä,

  • Set SourceRange = Range("B5:D5") on lähdesolujen alue.
  • Range("B8").Value = Trim(i) on paluukennon numero.

Vaihe 2:

  • Tallenna lopuksi ohjelma ja paina F5 juosta.

Näin ollen kolmen rivin yhdistämisen lopputulos näkyy solussa B8 .

Lue lisää: Miten Excelin ylimmät rivit poistetaan (7 menetelmää)

Päätelmä

Yhteenvetona toivon, että tämä viesti on antanut selkeät ohjeet siitä, miten hyödyntää VBA ketjuttaa Excelissä monin eri tavoin. Kaikki nämä tekniikat on opittava ja käytettävä omiin tietoihin. Tutustu harjoituskirjaan ja ota uudet tietosi käyttöön. Ystävällisen tukenne ansiosta olemme motivoituneita jatkamaan tämänkaltaisten työpajojen luomista.

Ota meihin yhteyttä, jos sinulla on kysyttävää, ja kerro mielipiteesi alla olevaan kommenttikenttään.

The Exceldemy Tiimi vastaa jatkuvasti kysymyksiisi.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.