VBA Concatenate | Kako spojiti žice zajedno u VBA?

Povezivanje znači spajanje dviju vrijednosti ili dva niza zajedno, slično excelu kojeg koristimo & ili također poznat kao operater ampersand za spajanje, dva ujedinjavanja dva niza koje koristimo & operator poput String 1 & String 2, sada je važno zapamtiti i to je dok koristimo operator & trebamo osigurati razmake ili će ga VBA smatrati dugotrajnim.

VBA spojene žice

VBA Concatenate jedna je od stvari koju smo koristili da kombiniramo dvije ili više vrijednosti ćelije vrijednosti zajedno ako kažem jednostavnim jezikom da se kombinira, spaja dvije ili više vrijednosti da bi imali punu vrijednost.

U Excelu imamo funkciju koja se zove CONCATENATE koja će kombinirati dvije ili više vrijednosti ili dvije ili više vrijednosti ćelija zajedno.

Ali u VBA nemamo ugrađenu funkciju za spajanje dvije ili više vrijednosti zajedno. Zapravo čak ne možemo pristupiti klasi funkcije radnog lista da bismo pristupili funkciji VBA CONCATENATE kao funkciji radnog lista.

Kako spojiti žice u VBA?

Ako nemamo nikakvu ugrađenu funkciju za spajanje vrijednosti, a čak ni funkcija radnog lista nije integrirana s VBA. Sada je izazov kako kombinirati vrijednosti?

Iako nema ugrađenih funkcija, i dalje možemo kombinirati u VBA koristeći simbol "&".

Ako redovito pratite naše postove, u kodiranju često koristimo znak ampersand (&).

Na primjer, ako imate ime i prezime odvojeno, možemo kombinirati ovo dvoje i napraviti ga kao puno ime. Slijedite korake u nastavku da sami napišemo VBA makro kod.

Korak 1: Idite na Visual Basic Editor i stvorite VBA potpostupak.

Korak 2: Definirajte tri varijable kao String .

Kodirati:

 Sub Concatenate_Example () Dim First_Name kao niz Dim Dim Last_Name kao niz Dim Dim Full_Name kao niz End Sub 

Korak 3: Sada varijabli dodijelite ime i prezime .

Kodirati:

 Sub Concatenate_Example () Dim First_Name kao niz Dim Dim Last_Name kao niz Dim Full_Name kao niz First_Name = "Sachin" Last_Name = "Tendulkar" Kraj Sub 

Korak 4: Sada kombinirajte ova dva imena s varijablom Full_Name pomoću varijable ampersand.

Kodirati:

 Sub Concatenate_Example () Dim First_Name kao niz Dim Dim Last_Name kao niz Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name End Sub 

Korak 5: Sada u okviru za poruke prikažite vrijednost varijable Full_Name .

Kodirati:

 Sub Concatenate_Example () Dim First_Name kao niz Dim Dim Last_Name kao niz Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name MsgBox Full_Name End Sub 

Sada pokrenite kôd dobit ćemo puno ime u okviru za poruku.

Problem s ovim punim imenom je što nismo dodali prostor znakova za razdvajanje imena i prezimena, dok kombiniramo ime i prezime, kombiniramo i znak razmaka.

Kodirati:

 Sub Concatenate_Example () Dim First_Name kao niz Dim Dim Last_Name kao niz Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & "" & Last_Name MsgBox Full_Name End Sub 

Ovo će sada dati pravilno puno ime.

Poput ovog pomoću znaka ampersand, možemo povezati vrijednosti. Sada ćemo zajedno riješiti problem radnog lista kako bismo zajednički riješili ime i prezime kako bismo postali puno ime.

Budući da moramo kombinirati mnoga imena, moramo koristiti petlje za kombiniranje imena i prezimena. Kôd u nastavku učinit će posao umjesto vas.

Kodirati:

 Sub Concatenate_Example1 () Dim i kao cjelina za i = 2 do 9 ćelija (i, 3) .Vrijednost = stanice (i, 1) & "" & ćelije (i, 2) Sljedeće i Završi Sub 

Ovo će kombinirati ime i prezime baš kao i naša VBA funkcija spajanja.

Uobičajena pogreška u povezivanju ampersanda i VBA

Ako primijetite moje kodove, dodao sam razmak između vrijednosti i znaka znaka &. To je bitno zbog prirode VBA programiranja.

Ne možemo kombinirati vrijednosti i znakove ampersanda zajedno, inače ćemo dobiti pogrešku kompilacije kao dolje.

VBA Concatenate pomoću funkcije JOIN

U VBA možemo koristiti funkciju JOIN za kombiniranje vrijednosti. Prvo, pogledajte sintaksu funkcije VBA JOIN.

  • Niz nije ništa drugo do niz koji sadrži naše vrijednosti. Na primjer i ime i prezime.
  • Graničnik nije ništa drugo doli razdvajač između svake vrijednosti niza, u ovom slučaju razmaka.

Donji kod prikazat će primjer istog.

Kodirati:

 Sub Concatenate_Example2() Dim MyValues As Variant Dim Full_Name As String MyValues = Array("Sachin", "Tendulkar") Full_Name = Join(MyValues, " ") MsgBox Full_Name End Sub