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