Kako uporabiti Concatenate v Excelu VBA (4 metode)

  • Deliti To
Hugh West

V Excelu je postopek konkatenacije postopek združevanja dveh nizov v en sam niz. Če imamo tabelo z imeni v enem stolpcu in priimki v drugem, lahko s postopkom konkatenacije v delčku sekunde združimo dva niza v eno celico. V Excelu je na voljo funkcija, ki se imenuje CONCATENATE () ki nam omogoča to združevanje. VBA , ta vrsta funkcije ni dovoljena. Ne moremo uporabiti CONCATENATE () v kodi VBA, saj ne bo delovala. VBA nima vgrajenih funkcij in ne moremo uporabljati funkcij preglednic. Zato vam bomo v tej lekciji pokazali, kako uporabiti VBA združite več celic, stolpcev in vrstic v Excelu.

Prenesi delovni zvezek za prakso

Prenesite ta delovni zvezek za vadbo, ki ga lahko uporabljate med branjem tega članka.

Funkcija VBA Concatenate.xlsm

Uvod v funkcijo VBA Concatenate

Kot smo že omenili, Excel nima vgrajene funkcije za VBA Concatenate, vendar jo lahko uporabimo kot funkcijo tako, da združimo različne nize z operatorji. Tu uporabimo ampersand (& amp;) kot naš operater.

⟴ Skladnja

String1 = " Prvo besedilo"

String2 = " Drugo besedilo"

⟴ Vrednost vrnitve

Return_value = String1 & String2

4 različne uporabe funkcije VBA Concatenate v Excelu

Tu bomo uporabili 4 različne pristope za izvedbo postopka združevanja. Uporabili bomo različne operatorje v kombinaciji z VBA kodo za dosego tega cilja.

1. Uporabite operator Ampersand (&) za združevanje celic v programu VBA Concatenate

Kot je prikazano na spodnji sliki zaslona, imamo zbirko podatkov z dvema stolpcema z imeni v enem stolpcu in priimki v drugem. Z združitvijo obeh stolpcev lahko zdaj dobimo celotna imena. ker VBA nima vgrajenih metod za združevanje, bomo uporabili ampersand (& amp;) operaterja, kot je opisano v spodnjih navodilih.

Korak 1:

  • Najprej pritisnite Alt + F11 da odprete Delovni list z omogočenimi makri.
  • Nato kliknite
  • Izberite Modul .

Korak 2:

  • Če želite združiti dve celici v eno, kopirajte in prilepite naslednje 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 

Tukaj,

  • String1 = Cells(5, 2).Value je lokacija prve celice B5 , vrstica 5, in stolpec 2 .
  • String2 = Cells(5, 3).Value je lokacija druge celice C5 , vrstica 5, in stolpec 3 .
  • Cells(5, 5).Value = String1 & String2 je lokacija celice rezultata E5 , vrstica 5 in stolpec 5 .
  • String1 & String2 sta dva niza, ki sta združena z amperandom (& amp;)

Korak 3:

  • Shrani in pritisni F5 za zagon programa.

Zato boste dobili rezultat v E5 celice trenutnega delovnega lista.

4. korak:

  • Sledite in ponovite korake za preostale celice ter dobite rezultate, kot je prikazano na spodnji sliki.

Opomba. Zagon VBA kodo, vsakič preverite, ali je datoteka Excel shranjena v Excel Delovni list z omogočenimi makri (xlsm.) format.

Preberite več: Kako uporabiti VBA StrComp v Excelu (5 pogostih primerov)

2. Uporabite operator Plus (+) za združevanje celic v programu VBA Concatenate

Kot je opisano v prejšnjem razdelku, smo uporabili ampersand (& amp;) za združevanje nizov celic. Enak rezultat lahko dosežete z uporabo operatorja plus (+) znak namesto ampersanda (& amp;) upravljavec. Če želite to storiti, sledite naslednjim korakom.

Korak 1:

  • Odpiranje Makro v Excelu pritisnite Alt + F11 .
  • Kliknite . Vstavite in izberite
  • Ko odprete stran programa, prilepite naslednje 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 

Tukaj,

  • Cells(5, 5).Value = String1 + String2 je ta vrstica, ki jo uporabljamo plus (+) namesto ampersanda (& amp;)

Korak 2:

  • Po lepljenju shranite in pritisnite F5 za zagon programa. Posledično boste videli spremembo v celici E5 .

  • Če želite dobiti končne rezultate, izpolnite zahtevane celice s ponovnim izvajanjem prejšnjih korakov.

Preberite več: Kako uporabljati funkcijo VBA StrConv (5 primerov)

Podobna branja:

  • Kako priklicati podprogram v programu VBA v Excelu (4 primeri)
  • Vračanje vrednosti v funkciji VBA (tako vrednosti v polju kot vrednosti, ki niso v polju)
  • Kako uporabiti funkcijo VBA DIR v Excelu (7 primerov)
  • Uporaba funkcije VBA UCASE v Excelu (4 primeri)
  • Kako uporabiti funkcijo InStr v programu VBA (3 primeri)

3. Dodajanje več stolpcev z uporabo VBA Concatenate

V prejšnjih dveh pristopih smo razpravljali o tem, kako združiti dve celici. Če pa želimo to uporabiti za celoten stolpec, bo dodajanje enega za drugim trajalo dolgo časa. Naučili vas bomo, kako dodati več stolpcev v celoti z VBA kodo za to.

Korak 1:

  • Prvič, da odprete Makro pritisnite . Alt + F11
  • Izberite Modul iz Vstavite zavihek
  • Nato prilepite naslednje VBA
 Sub ConcatCols() "združite stolpce B & C v stolpec 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 

Tukaj,

  • Z delovnimi listi("List3") je vaše trenutno ime delovnega lista.
  • LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row je ime prvega stolpca.
  • Z .Range("E5:E" & LastRow) je obseg vrnjenih celic.
  • .Formula = "=B5&C5" je formula za povezavo s prvo celico območja.

Korak 2:

  • Na koncu shranite in pritisnite F5 za zagon programa.

Rezultati bodo v celoti prikazani v stolpcu.

Preberite več: Kako uporabiti VBA Rnd v Excelu (4 metode)

4. Združite več vrstic z uporabo VBA Concatenate

Poleg dodajanja več stolpcev lahko uporabimo tudi VBA Kot je prikazano na spodnji sliki zaslona, želimo tri vrstice združiti v eno. Če želite združiti vrstice, sledite preprostim korakom v nadaljevanju.

Korak 1:

  • Za aktiviranje Makro v Excelu pritisnite Alt + F11 .
  • Nato izberite Modul iz Vstavite
  • Če želite združiti vrstice, prilepite 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 

Tukaj,

  • Set SourceRange = Razpon ("B5:D5") je območje izvornih celic.
  • Range("B8").Value = Trim(i) je številka povratne celice.

Korak 2:

  • Na koncu shranite program in pritisnite F5 za zagon.

Tako bo končni rezultat združitve treh vrstic prikazan v celici B8 .

Preberite več: Kako odstraniti zgornje vrstice v Excelu (7 metod)

Zaključek

Če povzamem, upam, da je ta objava zagotovila jasna navodila za uporabo VBA v Excelu na različne načine združiti. Vse te tehnike se morate naučiti in jih uporabiti na svojih podatkih. Preučite vadnico in uporabite novo pridobljeno znanje. Zaradi vaše prijazne podpore smo motivirani, da še naprej pripravljamo takšne delavnice.

Če imate kakršna koli vprašanja, se obrnite na nas. Povejte nam, kaj menite, v spodnjem polju za komentarje.

Spletna stran Odlično Ekipa bo nenehno odgovarjala na vaša vprašanja.

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.