Ako používať funkciu Concatenate v programe Excel VBA (4 metódy)

  • Zdieľajte To
Hugh West

V programe Excel je konkatenácia proces spojenia dvoch reťazcov do jedného reťazca. Zjednodušene povedané, ak máme tabuľku s krstnými menami v jednom stĺpci a priezviskami v druhom, môžeme použiť postup konkatenácie na ich spojenie a spojenie do jednej bunky v zlomku sekundy. V programe Excel máme funkciu s názvom CONCATENATE () ktorý nám umožňuje túto konkatenáciu. VBA , tento typ funkcie nie je povolený. Nemôžeme použiť CONCATENATE () v kóde VBA, pretože nebude fungovať. Pretože VBA nemá vstavané funkcie a nemôžeme používať funkcie tabuľkového procesora. Preto vám táto lekcia ukáže, ako používať VBA spojiť na kombinovanie viacerých buniek, stĺpcov a riadkov v programe Excel.

Stiahnite si cvičebnicu

Stiahnite si tento cvičebný zošit, aby ste si počas čítania tohto článku precvičili svoje zručnosti.

Funkcia VBA Concatenate.xlsm

Úvod do funkcie VBA Concatenate

Ako sme už spomenuli, Excel nemá žiadnu vstavanú funkciu pre VBA Concatenate, ale môžeme ju vytvoriť ako funkciu kombinovaním rôznych reťazcov pomocou operátorov. Tu použijeme ampersand (&) ako náš operátor.

⟴ Syntax

String1 = " Prvý text"

String2 = " Druhý text"

⟴ Návratová hodnota

Return_value = String1 & String2

4 rôzne spôsoby použitia funkcie VBA Concatenate v programe Excel

V tejto časti použijeme 4 rôzne prístupy na vykonanie procesu konkatenácie. Budeme používať rôzne operátory v kombinácii s VBA kód na dosiahnutie tohto cieľa.

1. Použitie operátora Ampersand (&) na spájanie buniek v programe VBA Concatenate

Ako je znázornené na nasledujúcom obrázku, máme dvojstĺpcovú zbierku údajov s krstnými menami v jednom stĺpci a priezviskami v druhom. Zlúčením týchto dvoch stĺpcov teraz môžeme získať celé mená. pretože VBA nemá žiadne zabudované metódy na spájanie, použijeme ampersand (&) operátora podľa pokynov uvedených nižšie.

Krok 1:

  • Najskôr stlačte Alt + F11 otvoriť Pracovný hárok s podporou makier.
  • Potom kliknite na tlačidlo
  • Vyberte Modul .

Krok 2:

  • Ak chcete spojiť dve bunky do jednej, skopírujte a vložte nasledujúce 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 

Tu,

  • String1 = Cells(5, 2).Value je umiestnenie prvej bunky B5 , riadok 5, a stĺpec 2 .
  • String2 = Cells(5, 3).Value je umiestnenie druhej bunky C5 , riadok 5, a stĺpec 3 .
  • Cells(5, 5).Value = String1 & String2 je umiestnenie výslednej bunky E5 , riadok 5 a stĺpec 5 .
  • String1 & String2 sú dva reťazce spojené ampersandom (&)

Krok 3:

  • Uložiť a stlačiť F5 na spustenie programu.

Výsledok sa teda zobrazí v E5 bunky aktuálneho pracovného hárka.

Krok 4:

  • Postupujte a zopakujte kroky pre ostatné bunky a získajte výsledky, ako je znázornené na nasledujúcom obrázku.

Poznámka. Spustenie VBA kód, zakaždým sa uistite, že váš súbor Excel je uložený v programe Excel Pracovný hárok s podporou makier (xlsm.) formát.

Čítajte viac: Ako používať VBA StrComp v programe Excel (5 bežných príkladov)

2. Použitie operátora Plus (+) na spájanie buniek vo VBA Concatenate

Ako je opísané v predchádzajúcej časti, použili sme ampersand (&) na spájanie reťazcov buniek. Rovnaký výsledok môžete dosiahnuť použitím operátora plus (+) namiesto ampersandu (&) operátor. Ak chcete, aby to bolo vykonané, postupujte podľa týchto krokov.

Krok 1:

  • Otvorenie Makro v programe Excel stlačte tlačidlo Alt + F11 .
  • Kliknite na . Vložte a vyberte
  • Po otvorení stránky programu vložte nasledujúce 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 

Tu,

  • Cells(5, 5).Value = String1 + String2 je tento riadok, ktorý používame plus (+) namiesto ampersandu (&)

Krok 2:

  • Po vložení uložte a stlačte F5 následne uvidíte zmenu v bunke E5 .

  • Ak chcete získať konečné výsledky, vyplňte požadované bunky opätovným vykonaním predchádzajúcich krokov.

Prečítajte si viac: Ako používať funkciu VBA StrConv (5 príkladov)

Podobné čítanie:

  • Ako zavolať podradenú položku vo VBA v programe Excel (4 príklady)
  • Vrátenie hodnoty vo funkcii VBA (hodnoty v poli aj iné ako pole)
  • Ako používať funkciu VBA DIR v programe Excel (7 príkladov)
  • Používanie funkcie VBA UCASE v programe Excel (4 príklady)
  • Ako používať funkciu InStr vo VBA (3 príklady)

3. Pridanie viacerých stĺpcov pomocou funkcie VBA Concatenate

V predchádzajúcich dvoch prístupoch sme sa zaoberali tým, ako spojiť dve bunky. Ak to však chceme aplikovať na celý stĺpec, pridávanie po jednom bude trvať dlho. Naučíme vás, ako pridať viacero stĺpcov úplne pomocou VBA kód pre tento účel.

Krok 1:

  • Po prvé, otvoriť Makro stlačte Alt + F11
  • Vyberte si Modul z Vložte karta
  • Potom vložte nasledujúci text VBA
 Sub ConcatCols() 'spojiť stĺpce B & C v stĺpci 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 

Tu,

  • S Pracovné hárky("Hárok3") je váš aktuálny názov pracovného hárka.
  • LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row je názov prvého stĺpca.
  • S .Range("E5:E" & LastRow) je výsledný rozsah návratových buniek.
  • .Formula = "=B5&C5" je vzorec na pripojenie prvej bunky rozsahu.

Krok 2:

  • Nakoniec uložte a stlačte F5 na spustenie programu.

Výsledkom je, že výsledky získate výhradne v stĺpci.

Prečítajte si viac: Ako používať VBA Rnd v programe Excel (4 metódy)

4. Spojenie viacerých riadkov pomocou funkcie VBA Concatenate

Okrem pridania viacerých stĺpcov môžeme použiť aj VBA Ako je znázornené na nasledujúcom obrázku, chceme spojiť tri riadky do jedného. Ak chcete spojiť riadky, postupujte podľa nasledujúcich jednoduchých krokov.

Krok 1:

  • Na aktiváciu Makro v programe Excel stlačte tlačidlo Alt + F11 .
  • Potom vyberte Modul z Vložte
  • Ak chcete spojiť riadky, vložte 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 

Tu,

  • Set SourceRange = Range("B5:D5") je rozsah zdrojových buniek.
  • Range("B8").Value = Trim(i) je číslo návratovej bunky.

Krok 2:

  • Nakoniec program uložte a stlačte F5 spustiť.

Konečný výsledok spojenia troch riadkov sa teda zobrazí v bunke B8 .

Prečítajte si viac: Ako zrušiť skrytie horných riadkov v programe Excel (7 metód)

Záver

Dúfam, že tento príspevok poskytol jasný návod, ako využiť VBA spájať v programe Excel rôznymi spôsobmi. Všetky tieto techniky by ste sa mali naučiť a používať ich na svojich údajoch. Preskúmajte cvičebnicu a využite svoje novonadobudnuté vedomosti. Vďaka vašej láskavej podpore máme motiváciu pokračovať vo vytváraní takýchto seminárov.

V prípade akýchkoľvek otázok nás neváhajte kontaktovať. V komentároch nižšie nám dajte vedieť, čo si myslíte.

Stránka Exceldemy Tím bude neustále odpovedať na vaše otázky.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.