VBA sammenkædning | Hvordan sammenkædes strenge sammen i VBA?

Sammenkædning betyder sammenføjning af to værdier eller to strenge sammen, svarende til excel, vi bruger & eller også kendt som ampersand-operator til sammenkædning, to sammenkædede to strenge, vi bruger & operatør som String 1 & String 2, nu er der en vigtig ting at huske, og at er, mens vi bruger & operatøren, skal vi give pladser, ellers vil VBA betragte det som længe.

VBA sammenkædede strenge

VBA-sammenkædning er en af ​​de ting, som vi brugte til at kombinere to eller flere værdiecelleværdier sammen, hvis jeg på et simpelt sprog siger det kombinerer, det forbinder to eller flere værdier sammen for at have fuld værdi.

Vi har en funktion kaldet CONCATENATE i excel, som vil kombinere to eller flere værdier sammen eller to eller flere celleværdier sammen.

Men i VBA har vi ingen indbygget funktion til at sammenkæde to eller flere værdier sammen. Faktisk får vi ikke engang adgang til regnearkets funktionsklasse for at få adgang til VBA CONCATENATE-funktionen som en regnearksfunktion.

Hvordan sammenkædes strenge i VBA?

Hvis vi ikke har nogen form for indbygget funktion til sammenkædning af værdier, og selv regnearkfunktion er ikke integreret med VBA. Nu er udfordringen, hvordan kombinerer vi værdier?

Selvom der ikke er nogen indbyggede funktioner, kan vi stadig kombinere i VBA ved hjælp af "ampersand" (&) symbolet.

Hvis du følger vores indlæg regelmæssigt, bruger vi ofte ampersand (&) -symbolet i vores kodning.

For eksempel, hvis du har fornavnet og efternavnet hver for sig, kan vi kombinere disse to og gøre det som et fuldt navn. Følg nedenstående trin for at skrive VBA-makrokoden på egen hånd.

Trin 1: Gå til Visual Basic Editor, og opret en VBA-underprocedure.

Trin 2: Definer tre variabler som streng .

Kode:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String End Sub 

Trin 3: Tildel nu fornavnet og efternavnet til variablen.

Kode:

 Sub Concatenate_Example () Dim First_Name Som String Dim Last_Name Som String Dim Full_Name Som String First_Name = "Sachin" Last_Name = "Tendulkar" End Sub 

Trin 4: Kombiner nu disse to navne til variablen Full_Name ved hjælp af ampersand-variablen.

Kode:

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

Trin 5: Vis nu værdien af ​​variablen Full_Name i meddelelsesfeltet.

Kode:

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

Kør nu koden, vi får fuldt navn i meddelelsesfeltet.

Problemet med dette fulde navn er, at vi ikke har tilføjet et fornavn og efternavn separator tegnrum, mens vi kombinerer fornavn og efternavn, kombinerer også mellemrumstegn.

Kode:

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

Dette vil give et ordentligt fuldt navn nu.

Som dette ved hjælp af ampersand-symbolet, kan vi sammenkæde værdier. Nu løser vi regnearksproblemet med at løse fornavn og efternavn sammen for at gøre det til et fuldt navn.

Da vi har brug for at kombinere mange navne, skal vi bruge sløjfer til at kombinere fornavn og efternavn. Koden nedenfor gør jobbet for dig.

Kode:

 Sub Concatenate_Example1 () Dim i som heltal For i = 2 til 9 celler (i, 3). Værdi = Celler (i, 1) & "" & Celler (i, 2) Næste i Afslut sub 

Dette kombinerer fornavn og efternavn ligesom vores VBA sammenkædningsfunktion.

Almindelig fejl i Ampersand VBA sammenkædning

Hvis du bemærker mine koder, har jeg tilføjet mellemrumstegn mellem værdierne et tegn på tegn. Dette er vigtigt på grund af karakteren af ​​VBA-programmering.

Vi kan ikke kombinere værdier og ampersand-symboler sammen, ellers får vi kompileringsfejl som nedenfor.

VBA sammenkædning ved hjælp af JOIN-funktion

I VBA kan vi bruge JOIN-funktionen til at kombinere værdier. Se først på VBA JOIN-funktionssyntaks.

  • Arrayet er intet andet end et array, der holder vores værdier. For eksempel både fornavn og efternavn.
  • Afgrænseren er intet andet end hvad der er separatoren mellem hver matrixværdi, i dette tilfælde mellemrumstegn.

Nedenstående kode viser eksemplet på det samme.

Kode:

 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