Obsah
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.
Čí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.