Jak používat funkci Concatenate v aplikaci Excel VBA (4 metody)

  • Sdílet Toto
Hugh West

V aplikaci Excel je spojování procesem spojování dvou řetězců do jednoho řetězce. Zjednodušeně řečeno, pokud máme tabulku se jmény v jednom sloupci a příjmeními ve druhém, můžeme je pomocí postupu spojování během zlomku sekundy spojit a spojit do jedné buňky. V aplikaci Excel máme funkci s názvem CONCATENATE () který nám umožňuje tuto konkatenaci provést. VBA , tento typ funkce není povolen. Nemůžeme použít CONCATENATE () v kódu VBA, protože to nebude fungovat. Protože VBA postrádá vestavěné funkce a nemůžeme používat funkce tabulkového procesoru. V této lekci vám tedy ukážeme, jak používat VBA spojit, abyste v aplikaci Excel spojili více buněk, sloupců a řádků.

Stáhnout cvičebnici

Stáhněte si tento cvičební sešit a procvičujte si při čtení tohoto článku.

Funkce VBA Concatenate.xlsm

Úvod do funkce VBA Concatenate

Jak jsme již zmínili, Excel nemá pro funkci VBA Concatenate žádnou vestavěnou funkci, ale můžeme ji zprovoznit jako funkci kombinací různých řetězců pomocí operátorů. Zde použijeme ampersand. (&) jako náš operátor.

⟴ Syntaxe

String1 = " První text"

String2 = " Druhý text"

⟴ Návratová hodnota

Return_value = String1 & String2

4 různá použití funkce VBA Concatenate v aplikaci Excel

Zde použijeme 4 různé přístupy k provedení procesu spojování. Budeme používat různé operátory v kombinaci s VBA kódu, aby toho dosáhl.

1. Použití operátoru Ampersand (&) ke spojení buněk ve VBA Concatenate

Jak je znázorněno na následujícím snímku obrazovky, máme dvousloupcovou sbírku dat se jmény v jednom sloupci a příjmeními ve druhém. Sloučením obou sloupců nyní můžeme získat celá jména. protože VBA nemá žádné vestavěné metody pro spojování, použijeme ampersand. (&) podle pokynů uvedených níže.

Krok 1:

  • Nejprve stiskněte Alt + F11 otevřít Pracovní list s podporou maker.
  • Poté klikněte na tlačítko
  • Vyberte Modul .

Krok 2:

  • Chcete-li spojit dvě buňky do jedné, zkopírujte a vložte následující text. 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 

Zde,

  • String1 = Cells(5, 2).Value je umístění první buňky B5 , řádek 5, a sloupec 2 .
  • String2 = Cells(5, 3).Value je umístění druhé buňky C5 , řádek 5, a sloupec 3 .
  • Cells(5, 5).Value = String1 & String2 je umístění výsledné buňky E5 , řádek 5 a sloupec 5 .
  • String1 & String2 jsou dva řetězce spojené ampersandem (&)

Krok 3:

  • Uložit a stisknout F5 spustit program.

Výsledek tedy získáte v E5 buňky aktuálního pracovního listu.

Krok 4:

  • Postupujte a opakujte kroky pro ostatní buňky a získejte výsledky podle následujícího obrázku.

Poznámka. Spuštění VBA kód, pokaždé se ujistěte, že je váš soubor Excelu uložen v aplikaci Excel. Pracovní list s makry (xlsm.) formát.

Další informace: Jak používat VBA StrComp v aplikaci Excel (5 běžných příkladů)

2. Použití operátoru Plus (+) ke spojení buněk v nástroji VBA Concatenate

Jak bylo popsáno v předchozí části, použili jsme ampersand (&) pro spojení řetězců buněk. Stejný výsledek získáte použitím operátoru plus. (+) místo ampersandu (&) operátor. Chcete-li ji provést, postupujte podle následujících kroků.

Krok 1:

  • Otevření Makro v aplikaci Excel stiskněte tlačítko Alt + F11 .
  • Klikněte na Vložte a vyberte
  • Po otevření stránky programu vložte následující 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 

Zde,

  • Cells(5, 5).Value = String1 + String2 je tento řádek, který používáme plus (+) místo ampersandu (&)

Krok 2:

  • Po vložení uložte a stiskněte F5 následně uvidíte změnu v buňce. E5 .

  • Chcete-li získat konečné výsledky, vyplňte požadované buňky opětovným provedením předchozích kroků.

Přečtěte si více: Jak používat funkci VBA StrConv (5 příkladů)

Podobné čtení:

  • Jak zavolat podřízený program ve VBA v aplikaci Excel (4 příklady)
  • Vrácení hodnoty ve funkci VBA (pole i jiné hodnoty)
  • Jak používat funkci VBA DIR v aplikaci Excel (7 příkladů)
  • Použití funkce VBA UCASE v aplikaci Excel (4 příklady)
  • Jak používat funkci InStr ve VBA (3 příklady)

3. Přidání více sloupců pomocí funkce VBA Concatenate

V předchozích dvou přístupech jsme se zabývali tím, jak spojit dvě buňky. Pokud to však chceme aplikovat na celý sloupec, přidávání po jednom bude trvat dlouho. Naučíme vás, jak přidat více sloupců kompletně pomocí funkce VBA kód pro tento účel.

Krok 1:

  • Za prvé, otevřít Makro tisk Alt + F11
  • Vyberte si Modul z Vložte karta
  • Pak vložte následující VBA
 Sub ConcatCols() 'spojit sloupce B & C ve sloupci 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 

Zde,

  • S pracovní listy("List3") je název aktuálního pracovního listu.
  • LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row je název prvního sloupce.
  • With .Range("E5:E" & LastRow) je výsledný rozsah návratových buněk.
  • .Formula = "=B5&C5" je vzorec pro připojení první buňky rozsahu.

Krok 2:

  • Nakonec uložte a stiskněte tlačítko F5 ke spuštění programu.

Výsledkem je, že výsledky získáte výhradně ve sloupci.

Další informace: Jak používat VBA Rnd v aplikaci Excel (4 metody)

4. Spojení více řádků pomocí funkce VBA Concatenate

Kromě přidání více sloupců můžeme také použít VBA Jak je znázorněno na následujícím obrázku, chceme spojit tři řádky do jednoho. Chcete-li spojit řádky, postupujte podle následujících jednoduchých kroků.

Krok 1:

  • Pro aktivaci Makro v aplikaci Excel stiskněte tlačítko Alt + F11 .
  • Pak vyberte Modul z Vložte
  • Chcete-li řádky spojit, vložte do nich 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 

Zde,

  • Set SourceRange = Range("B5:D5") je rozsah zdrojových buněk.
  • Range("B8").Value = Trim(i) je číslo návratové buňky.

Krok 2:

  • Nakonec program uložte a stiskněte tlačítko F5 spustit.

Konečný výsledek spojování tří řádků se tedy zobrazí v buňce B8 .

Přečtěte si více: Jak skrýt horní řádky v aplikaci Excel (7 metod)

Závěr

Závěrem doufám, že tento příspěvek poskytl jasné pokyny k tomu, jak využít VBA spojovat v Excelu různými způsoby. Všechny tyto techniky byste se měli naučit a používat je na svých datech. Prozkoumejte cvičebnici a využijte nově nabyté znalosti. Díky vaší laskavé podpoře máme motivaci pokračovat ve vytváření podobných seminářů.

V případě jakýchkoli dotazů se na nás neváhejte obrátit. Dejte nám prosím vědět, co si myslíte, v níže uvedeném komentáři.

Na stránkách Exceldemy Tým bude neustále odpovídat na vaše dotazy.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.