VBA-sammanfogning

Sammankoppling innebär att man förenar två värden eller två strängar tillsammans, liknar excel vi använder & eller även känd som ampersandoperatör för att sammanfoga, två sammanfogar två strängar som vi använder & operatör som String 1 & String 2, nu finns det en viktig sak att komma ihåg och att är när vi använder & -operatören måste vi tillhandahålla utrymmen annars kommer VBA att betrakta det som länge.

VBA sammanfogade strängar

VBA Concatenate är en av de saker som vi använde för att kombinera två eller flera värdecellvärden tillsammans om jag säger på ett enkelt språk att det kombinerar, det går samman två eller flera värden för att få fullt värde.

Vi har en funktion som heter CONCATENATE i excel som kommer att kombinera två eller flera värden tillsammans eller två eller flera cellvärden tillsammans.

Men i VBA har vi ingen inbyggd funktion för att sammanfoga två eller flera värden tillsammans. I själva verket får vi inte ens tillgång till kalkylbladets funktionsklass för att komma åt VBA CONCATENATE-funktionen som en kalkylarkfunktion.

Hur sammanfogar du strängar i VBA?

Om vi ​​inte har någon form av inbyggd funktion för att sammanfoga värden och även kalkylfunktionen inte är integrerad med VBA. Nu är utmaningen hur vi kombinerar värden?

Även om det inte finns några inbyggda funktioner kan vi fortfarande kombinera i VBA med symbolen "ampersand" (&).

Om du följer våra inlägg regelbundet använder vi ofta tecknet (&) i vår kodning.

Till exempel, om du har förnamn och efternamn separat kan vi kombinera dessa två och göra det som ett fullständigt namn. Följ stegen nedan för att skriva VBA-makrokoden på egen hand.

Steg 1: Gå till Visual Basic Editor och skapa en VBA-underprocedur.

Steg 2: Definiera tre variabler som sträng .

Koda:

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

Steg 3: Tilldela nu förnamnet och efternamnet till variabeln.

Koda:

 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 

Steg 4: Kombinera nu dessa två namn med variabeln Full_Name med ampersand-variabeln.

Koda:

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

Steg 5: Visa nu värdet på variabeln Full_Name i meddelandefältet.

Koda:

 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 så får vi fullständigt namn i meddelandefältet.

Problemet med detta fullständiga namn är att vi inte har lagt till ett för- och efternamnsavgränsande teckenutrymme, samtidigt som du kombinerar förnamn och efternamn, kombinerar också mellanslagstecken.

Koda:

 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 

Detta kommer att ge ett ordentligt fullständigt namn nu.

Så här med hjälp av ampersand-symbolen kan vi sammanfoga värden. Nu löser vi kalkylbladsproblemet med att lösa förnamn och efternamn tillsammans för att göra det till ett fullständigt namn.

Eftersom vi behöver kombinera många namn måste vi använda loopar för att kombinera förnamn & efternamn. Koden nedan gör jobbet åt dig.

Koda:

 Sub Concatenate_Example1 () Dim i som heltal för i = 2 till 9 celler (i, 3) .Värde = celler (i, 1) & "" & celler (i, 2) Nästa i Avsluta sub 

Detta kombinerar förnamn och efternamn precis som vår VBA-sammankopplingsfunktion.

Vanligt fel i Ampersand VBA-sammanfogning

Om du märker mina koder har jag lagt till mellanslagstecken mellan värdena en symbol för tecken. Detta är viktigt på grund av VBA-programmeringens karaktär.

Vi kan inte kombinera värden och bokstäver tillsammans, annars får vi kompileringsfel som nedan.

VBA-sammanfogning med JOIN-funktionen

I VBA kan vi använda JOIN-funktionen för att kombinera värden. Titta först på syntaxen för VBA JOIN-funktionen.

  • Array är inget annat än en array som håller våra värden. Till exempel både förnamn och efternamn.
  • Avgränsaren är inget annat än vad som skiljer mellan varje matrisvärde, i detta fall mellanslagstecken.

Nedanstående kod visar exemplet på detsamma.

Koda:

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 Sub