VBA sammenføyning | Hvordan sammenkoble strenger sammen i VBA?

Sammenkjøring betyr å knytte to verdier eller to strenger sammen, som ligner på excel vi bruker & eller også kjent som ampersandoperatør for å sammenkoble, to sammenkoble to strenger vi bruker og operatør som String 1 & String 2, nå er det en viktig ting å huske og at er mens vi bruker & operatøren, trenger vi å gi mellomrom, ellers vil VBA vurdere det som lenge.

VBA sammenkoblede strenger

VBA Concatenate er en av de tingene som vi brukte til å kombinere to eller flere verdiecelleverdier sammen hvis jeg på et enkelt språk sier det kombinerer, det er å knytte to eller flere verdier sammen for å ha full verdi.

Vi har en funksjon kalt CONCATENATE i excel som vil kombinere to eller flere verdier eller to eller flere celleverdier sammen.

Men i VBA har vi ingen innebygd funksjon for å sammenkoble to eller flere verdier sammen. Faktisk får vi ikke en gang tilgang til regnearkfunksjonsklassen for å få tilgang til VBA CONCATENATE-funksjonen som en regnearkfunksjon.

Hvordan sammenkoble strenger i VBA?

Hvis vi ikke har noen form for innebygd funksjon for å sammenkoble verdier, og til og med regnearkfunksjon er ikke integrert med VBA. Nå er utfordringen hvordan vi kombinerer verdier?

Selv om det ikke er noen innebygde funksjoner, kan vi fortsatt kombinere dem i VBA ved å bruke "ampersand" (&) symbolet.

Hvis du følger innleggene våre regelmessig, bruker vi ofte bokstavet (&) i kodingen.

For eksempel, hvis du har fornavn og etternavn hver for seg, kan vi kombinere disse to og lage det som et fullt navn. Følg trinnene nedenfor for å skrive VBA-makrokoden på egen hånd.

Trinn 1: Gå til Visual Basic Editor og opprett en VBA-underprosedyre.

Trinn 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 

Trinn 3: Nå tilordner du fornavnet og etternavnet til variabelen.

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" End Sub 

Trinn 4: Kombiner nå disse to navnene til variabelen Full_Name ved hjelp av ampersand-variabelen.

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 

Trinn 5: Vis nå verdien av variabelen Full_Name i meldingsboksen.

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 MsgBox Full_Name End Sub 

Kjør nå koden vi får fullt navn i meldingsboksen.

Problemet med dette fulle navnet er at vi ikke har lagt til et fornavn og etternavn skilletegn mellomrom, mens du kombinerer fornavn og etternavn, kombinerer også mellomromstegn.

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 MsgBox Full_Name End Sub 

Dette vil gi et skikkelig fullt navn nå.

Som dette ved hjelp av ampersand-symbolet, kan vi sammenkoble verdier. Nå skal vi løse regnearkproblemet med å løse fornavn og etternavn sammen for å gjøre det til et fullt navn.

Siden vi trenger å kombinere mange navn, må vi bruke sløyfer for å kombinere fornavn og etternavn. Koden nedenfor vil gjøre jobben for deg.

Kode:

 Sub Concatenate_Example1 () Dim i As Integer For i = 2 til 9 celler (i, 3) .Value = Cells (i, 1) & "" & Cells (i, 2) Next i End Sub 

Dette vil kombinere fornavn og etternavn akkurat som vår VBA sammenkoblingsfunksjon.

Vanlig feil i Ampersand VBA-sammenkobling

Hvis du legger merke til kodene mine, har jeg lagt til mellomromstegn mellom verdiene, et ampersand-symbol. Dette er viktig på grunn av innholdet i VBA-programmering.

Vi kan ikke kombinere verdier og bokstaver sammen, ellers får vi kompileringsfeil som nedenfor.

VBA sammenkobling ved hjelp av JOIN-funksjon

I VBA kan vi bruke JOIN-funksjonen til å kombinere verdier. Først, se på VBA JOIN-funksjonssyntaks.

  • Matrisen er ingenting annet enn en matrise som holder verdiene våre. For eksempel både fornavn og etternavn.
  • Avgrenseren er ikke annet enn hva som er skillet mellom hver matriseverdi, i dette tilfellet mellomromstegn.

Koden nedenfor 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