Excel VBA Concatenate
Zřetězení lze definovat jako spojení nebo přidání dvou řetězců nebo datových položek k získání jednoho řetězce nebo datová položka se nazývá zřetězení. Jednoduše řečeno, pokud máme seznam křestních jmen v jednom sloupci a příjmení v jiném sloupci pomocí operace zřetězení, můžeme je kombinovat a umístit do jedné buňky během zlomku vteřin. V Excelu, abychom dosáhli tohoto spojení, máme funkci listu nazvanou Concat (). Tento druh funkce však není ve VBA k dispozici. V kódování VBA nemůžeme použít concatenate (), protože to nebude fungovat. Ve VBA tedy nejsou k dispozici žádné funkce a nelze přistupovat také k funkcím pracovního listu. Jak tedy zřetězíme dva nebo více řetězců ve VBA.
Nejprve uvidíme, jak budeme pracovat s funkcí listu, pak uvidíme totéž ve VBA. Zvažte dva řetězce v Excelu, jak je ukázáno na obrázku níže.
Nyní použijte zřetězenou funkci pro kombinaci obou řetězců.
Sledujte vzorec, D4 a E4 jsou adresa buněk, které chceme kombinovat. Stejně jako výše můžeme zřetězit více řetězců z různých buněk.
Jak používat zřetězenou funkci Excel VBA?
Naučíme se, jak používat VBA Concatenate s několika příklady v Excelu.
Tuto šablonu VBA Concatenate Excel si můžete stáhnout zde - VBA Concatenate Excel TemplateVBA Concatenate - Příklad # 1
Protože ve VBA nemáme žádné vestavěné funkce, zřetězení ve VBA lze dosáhnout pomocí operátoru ampersand (&).
Uděláme stejný příklad, jaký jsme již použili pro funkci listu. V buňce D4 máme „miluji“ a v buňce E4 „Indie“. Nyní tyto dva řetězce spojíme ve VBA. Přejděte na kartu editoru VBA.
Krok 1: Přejděte na kartu Vývojář a poté na levé straně vyberte kartu „Visual Basic“. Poté přejde na obrazovku níže.
Krok 2: Nejprve musíme vytvořit podproces s jakýmkoli názvem jako zřetězení . Chcete-li zahájit podproces, použijte klíčové slovo Sub a název procesu „zřetězení“.
Kód:
Sub Concatenate () End Sub
Krok 3: V podprocesu musíme definovat řetězce jako string1, string2 a full_string pomocí klíčového slova dim.
Kód:
Sub Concatenate () Dim String1 jako String Dim String2 jako String Dim full_string Jako String End Sub Sub
Krok 4: Nyní musíme přiřadit řetězec „Miluji“ řetězci1 a „Indie“ řetězci2 pomocí operátoru přiřazení „=“, jak je uvedeno níže.
Kód:
Sub Concatenate () Dim String1 jako String Dim String2 jako String Dim full_string Jako String String1 = "I Love" String2 = "India" End Sub
Krok 5: Nyní zkombinujte string1 a string2 pomocí operátoru ampersand a přiřaďte tuto kombinaci full_string, jak je uvedeno níže. Mezi řetězcovými proměnnými a operátorem ampersand udržujte mezeru, abyste se vyhnuli chybové zprávě.
Kód:
Sub Concatenate () Dim String1 jako String Dim String2 jako String Dim full_string Jako String String1 = "I Love" String2 = "India" full_string = String1 & String2 End Sub
Krok 6: Zřetězení řetězců 1 a 2 je nyní uloženo v full_string. Zobrazte tento řetězec pomocí okna zprávy, jak je uvedeno níže.
Kód:
Sub Concatenate () Dim String1 jako String Dim String2 jako String Dim full_string Jako String String1 = "I Love" String2 = "India" full_string = String1 & String2 MsgBox (full_string) End Sub
Krok 7: Nyní je čas provést proces. Klikněte na tlačítko Přehrát, které je označeno červenou barvou. Výsledek se zobrazí v okně se zprávou níže.
Krok 8: Ve výše uvedeném příkladu jsme vzali dva řetězce přímo v programu a mezi prvním řetězcem a druhým řetězcem není mezera. Jak tedy přidat prostor? Velmi jednoduchý a zároveň zřetězený, zřetězený prostor také.
Kód:
Sub Concatenate () Dim String1 jako String Dim String2 jako String Dim full_string Jako String String1 = "I Love" String2 = "India" full_string = String1 & "" & String2 MsgBox (full_string) End Sub
Krok 9: Sledujte výše uvedený obrázek a přidali jsme mezeru mezi string1 a string2 pomocí dvojitých uvozovek. Pokud chceme přidat „-“, můžeme to udělat také.
Kód:
Sub Concatenate () Dim String1 jako String Dim String2 jako String Dim full_string Jako String String1 = "I Love" String2 = "India" full_string = String1 & "-" & String2 MsgBox (full_string) End Sub
Krok 10: Výsledek bude uveden níže.
VBA Concatenate - Příklad # 2
Krok 1: Nyní vezmeme data z listu Excel a zřetězíme a poté zobrazíme výsledky. Za tímto účelem přiřaďte data v buňkách řetězci1 a řetězci2, jak je ukázáno níže.
Kód:
Sub Concatenate2 () Dim String1 jako String Dim String2 jako String Dim full_string As String String1 = Buňky (4, 4) .Value String2 = Buňky (4, 5) .Value MsgBox (full_string) End Sub
Krok 2: Pozorujte výše uvedený obrázek, hodnotu v buňkách (4, 4) jsme přiřadili stirng1 a buňkám (4, 5) v řetězci2. Jako obvykle zřetězte oba řetězce pomocí operátoru ampersand.
Kód:
Sub Concatenate2 () Dim String1 jako String Dim String2 jako String Dim full_string As String String1 = Buňky (4, 4). Hodnota String2 = Buňky (4, 5) .Value full_string = String1 & "" & String2 MsgBox (full_string) End Sub
Krok 3: Z tohoto důvodu se budou data v buňkách (4, 4) a buňkách (4, 5) kombinovat a ukládat do full_string. Nyní spusťte proces kliknutím na symbol přehrávání.
Krok 4: Data jsou převzata z Excelu uvedeného níže.
Krok 5: Pokud změníme data v Excelu a znovu spustíme, výsledky programu se změní podle Excel dat. Místo Indie jsem se změnil na sladkosti, nyní budeme běžet a kontrolovat.
Krok 6: Nyní je výsledek v okně se zprávou. Namísto okna s hlášením, pokud chceme v excelu, můžeme to udělat.
Kód:
Sub Concatenate2 () Dim String1 jako String Dim String2 jako String Dim full_string As String String1 = Buňky (4, 4) .Hodnota String2 = Buňky (4, 5) .Value Buňky (4, 7) .Hodnota = String1 a String2 MsgBox ( full_string) End Sub
Krok 7: Přiřaďte zřetězení v buňce adresové buňky (4, 7) a odeberte msgbox, protože již nepotřebujeme okno se zprávou. Stiskněte tlačítko přehrát a jděte k vám vyniknout a kontrola získá výsledek v buňce (4, 7) (řádek 4 a sloupec 7).
Krok 8: Když přidáváme dva řetězce, můžeme použít symbol „+“ také níže.
Kód:
Sub Concatenate2 () Dim String1 jako String Dim String2 jako String Dim full_string As String String1 = Buňky (4, 4) .Hodnota String2 = Buňky (4, 5) .Value Buňky (4, 7) .Hodnota = String1 + String2 End Sub
Krok 9: Výsledek bude uveden níže. Nebude žádný rozdíl.
Krok 10: Pokud ale použijeme čísla namísto řetězců k zřetězení pomocí symbolu „+“, provede zřetězení pouze sčítání, protože jsme vzali datový typ jako řetězec, ne celé číslo.
Krok 11: Výsledek bude uveden níže.
V případě, že bereme datový typ jako celé číslo, měli bychom použít operátor ampersand pouze pro zřetězení. Použijeme-li při přijímání celočíselného typu dat „+“, nebude to zřetězeno, ale provedeme sčítání.
VBA Concatenate - Příklad # 3
Krok 1: Pokud chceme kombinovat řetězec a číslo, můžeme použít stejnou techniku. Udržujte hodnotu čísla v jedné buňce a hodnotu řetězce v jiné buňce a klikněte na možnost spuštění.
Krok 2: Výsledek nebude mít dopad, bude to stejný výsledek řetězce jako dříve s jedinou změnou je číslo místo řetězce.
Co si pamatovat
- Zřetězením je spojit řetězce dvou nebo více řetězců různých buněk. Chcete-li to provést v Excelu, máme vestavěnou funkci listu, která je CONCAT.
- Funkce concat funkce listu není ve VBA k zřetězení přístupná.
- Zřetězení bude dosaženo pomocí operátoru ampersand (&) a plus (+). Pokud užíváte celočíselný datový typ, pak symbol „+“ provede operaci sčítání namísto zřetězení, a proto to zajistěte.
- Použijte mezeru před a za symboly & a +, jinak to vyvolá chybovou zprávu.
- Při definování řetězcových proměnných nezachovávejte v názvu proměnné žádné místo. Pokud je v názvu proměnné řetězce zadán jakýkoli prostor, nedovolí to, protože vyvolá chybovou zprávu níže.
Doporučené články
Toto je průvodce VBA Concatenate. Zde diskutujeme o tom, jak používat Excel VBA Concatenate Function spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -
- VBA InStr vysvětleno příklady
- VBA celočíselný typ dat
- Jak vybrat buňku pomocí kódu VBA?
- Transponujte rozsah ve VBA