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 Template

VBA 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 -

  1. VBA InStr vysvětleno příklady
  2. VBA celočíselný typ dat
  3. Jak vybrat buňku pomocí kódu VBA?
  4. Transponujte rozsah ve VBA

Kategorie: