Funkce Excel VBA Připojit

Funkce VBA JOIN se používá ke spojení pole podřetězců se zadaným oddělovačem. Stejně jako samotné slovo znamená, že se musí spojit dva nebo více řetězců. Tady je několik úlovků. Řetězce jsou v poli a používá také oddělovač jako zřetězenou funkci. Ale oddělovač pro zřetězené funkce se může lišit mezi libovolnými dvěma řetězci, protože musíme zřídit jeden oddělovač mezi dvěma řetězci pomocí zřetězené funkce. Ale v Připojte se k VBA musíme oddělovač poskytnout pouze jednou. Tento oddělovač se používá pro připojení všech řetězců. Tento parametr je však také volitelný. Co se stane, když funkci neposkytneme oddělovač? Pokud funkci neposkytneme žádný oddělovač, bude ve výchozím nastavení oddělovač „mezera“.

Syntaxe funkce spojení v aplikaci Excel VBA

Funkce spojení má v Excel VBA následující syntaxi:

Nyní pochopíme argumenty pro funkci VBA Join,

  • Source Array: Je to pole nebo sada řetězců, které chceme spojit dohromady.
  • Oddělovač: Toto je oddělovač nebo znak, který používáme k rozlišení mezi řetězci. Oddělovač může být mezera nebo čárka nebo tečka nebo libovolný znak z našeho počítače.

Výstup vrácený touto funkcí je řetězec.

Jak používat funkci Excel VBA Join?

Naučíme se používat funkci VBA Join s několika příklady v Excelu.

Tuto šablonu VBA Připojte se k Excelu si můžete stáhnout zde - VBA Připojit se k Excel Excel

Připojit Excel VBA - Příklad č. 1

Nejprve začněme základním příkladem. Máme cestu k souboru uloženému v různých buňkách našeho listu v listu 1. Chceme úplnou cestu k tomuto umístění v jiné buňce. Cesta, kterou je třeba spojit, je následující,

Chceme cestu v buňce E2. Postupujte podle níže uvedených kroků použít funkci spojení v Excel VBA.

Krok 1: Přejděte na kartu vývojáře a poté klikněte na Visual Basic, abyste se dostali do editoru VB.

Krok 2: Klikněte na kartu Vložit a vložte modul do projektu VBA.

Krok 3: Nyní deklarujme náš první podprogram následujícím způsobem.

Kód:

 Sub Příklad () Konec Sub 

Krok 4: Protože máme data s námi, můžeme jednoduše použít hodnotu vlastnosti range a připojit se k cestě následujícím způsobem.

Kód:

 Dílčí příklad () Rozsah ("E2"). Hodnota = End Sub 

Krok 5: Pomocí funkce Připojit spojte všechny řetězce spolu s oddělovačem jako „\“.

Kód:

 Dílčí příklad () Rozsah („E2“). Hodnota = Spojení (Pole (Rozsah („A2“)). Hodnota, Rozsah („B2“). Hodnota, Rozsah („C2“). Hodnota, Rozsah („D2“) .Hodnota), "\") End Sub 

Krok 6: Spusťte výše uvedený kód stisknutím klávesy F5 nebo kliknutím na tlačítko Spustit běh a my budeme mít výsledek v buňce E2, jak je ukázáno níže.

Vidíme, že všechny čtyři řetězce jsou spojeny společně se společným oddělovačem, který je „\“.

Připojit Excel VBA - Příklad # 2

Pojďme dále s praktickým příkladem. V jednom listu mám jméno studenta, známky a průchod nebo selhání. Chceme vytvořit samostatnou složku se soubory obsahujícími, zda student prošel, neuspěl nebo byl vyzdoben. Za tímto účelem si půjčíme některé koncepty FSO (Object System Objects) pomocí funkce join. Data vypadají stejně jako níže.

Postupujte podle níže uvedených kroků použít funkci spojení v Excel VBA.

Krok 1: Ve stejném modulu spustíme další podprogram následujícím způsobem.

Kód:

 Dílčí příklad2 () Konec Díl 

Krok 2: Deklarujte dvě proměnné jako FSO a textstream, což je metoda FSO následujícím způsobem.

Kód:

 Dim FSO jako nové skriptování.FileSystemObject Dim St as Scripting.TextStream 

Krok 3: Nyní deklarujeme několik dalších proměnných: jednu jako oblast, která drží řádky, a druhou jako celé číslo, která drží sloupce, zatímco druhou jako řetězec pro uložení hodnoty připojeného řetězce a cestu ke složce a druhou pro vytvoření názvů souborů.

Kód:

 Dim rw As Range Dim res as String Dim col As Integer Dim FolPath As String Dim Výsledek jako String 

Krok 4: Protože máme data v listu 2, aktivujte nejprve list 2.

Kód:

 Pracovní listy („List2“). Aktivujte 

Krok 5: Nyní si spočítáme počet sloupců, které máme v datech, takto,

Kód:

 col = Range ("A1"). CurrentRegion.Columns.Count 

Krok 6: Nyní přiřazme cestu k Folpath pomocí informační funkce ENVIRON následujícím způsobem.

Kód:

 FolPath = Environ ("UserProfile") & "\ Desktop \ Result" 

Krok 7: Nyní zkontrolujeme, zda složka existuje nebo ne, a pokud ne, vytvořme ji pomocí metody FSO následujícím způsobem.

Kód:

 Pokud není FSO.FolderExists (FolPath), pak FSO.CreateFolder FolPath 

Krok 8: Nyní připojme jména uložená pomocí funkce offset následujícím způsobem.

Kód:

 Pro každou rw In Range ("A2", Range ("A1"). End (xlDown)) Výsledek = rw.Offset (0, 1) .Hodnota 

Tím se otevřou soubory se jmény současně v režimu připojení, kde novější hodnoty budou jako poslední připojeny. Použili jsme výše uvedený kód, takže hodnota výsledku bude přiřazena jeden po druhém.

Krok 9: Nyní, když funkce Spojení používá pole 1-D, použijeme funkci application.transpose s funkcí spojení k převodu do pole 1-D následujícím způsobem.

Kód:

 Set St = FSO.OpenTextFile (FolPath & "\" & Result & ".xls", ForAppending, True) res = Připojit se (Application.Transpose (Application.Transpose (rw.Resize (1, col) .Value)), vbTab ) St.WriteLine res 

Proč jsme použili application.transpose? Protože obecně pole (1-D) musí být horizontální, což znamená, že jeden řádek má mnoho sloupců. Teď, když máme ve sloupci B svislý rozsah, což je výsledek, použili jsme tuto funkci transpozice k převedení na pole 1-D. Jako oddělovač jsme použili VbTab, takže hodnoty jsou v dalších buňkách.

Krok 10: Než ukončíme smyčku for, zavřeme soubor a ukončíme smyčku následujícím způsobem.

Celkový kód vypadá takto.

Kód:

 Sub Příklad2 () Dim FSO jako nové skriptování.FileSystemObject Dim St as Scripting.TextStream Dim rw As Range Dim res As String Dim col As Integer Dim FolPath As String Dim Výsledek jako String Worksheet ("Sheet2"). Aktivace col = Range (" A1 "). CurrentRegion.Columns.Count FolPath = Environ (" UserProfile ") &" \ Desktop \ Result "Pokud není FSO.FolderExists (FolPath), pak FSO.CreateFolder FolPath pro každou rw In Range (" A2 ", Range (" A1 "). End (xlDown)) Výsledek = rw.Offset (0, 1) .Value Set St = FSO.OpenTextFile (FolPath &" \ "& Result &" .xls ", ForAppending, True) res = Join (Application) .Transpose (Application.Transpose (rw.Resize (1, col) .Value)), vbTab) St.WriteLine res St.Zavřít další rw End Sub Sub 

Krok 11: Nyní spustíme výše uvedený kód stisknutím klávesy F5, na naší ploše vidíme, že byla vytvořena složka s názvem Výsledek, jak je uvedeno níže.

Krok 12: Otevřete složku, budeme mít tři soubory jako Pass, Fail a Grace.

Pokud otevřeme některý ze souborů, řekněme, že otevřeme soubor Fail, takže můžeme vidět data studentů, kteří selhali.

Co si pamatovat

  • Používá se ke spojení řetězce řetězců se společným oddělovačem.
  • Výstup vrácený touto funkcí je String.
  • Je to naproti funkci Split ve VBA.
  • Pokud tuto funkci neposkytneme oddělovač, bude ve výchozím nastavení jako oddělovač použit mezeru.
  • Pole v argumentu by mělo být jednorozměrné pole. Pokud ne, můžeme použít konvenční metody aplikace.transpose, jak je vysvětleno v příkladu 2.

Doporučené články

Toto je průvodce funkcí spojení VBA. Zde diskutujeme o tom, jak používat funkci Spojení v Excelu pomocí kódu VBA spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -

  1. Excel Datum Funkce
  2. Zřetězené řetězce v Excelu
  3. Aplikace VBA Union
  4. Zřetězené sloupce Excelu

Kategorie: