VBA-sammanfogning - Hur sammanfogar du strängar i VBA?

Innehållsförteckning

Sammankoppling betyder 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 på ett enkelt språk säger att det kombinerar, går det att sammanfoga 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 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. Faktum är att vi inte ens får åtkomst till kalkylbladets funktionsklass för att komma åt VBA CONCATENATE-funktionen som en kalkylfunktion.

Hur sammanfogar du strängar i VBA?

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

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

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

Om du till exempel 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 Som String Dim Last_Name Som String Dim Full_Name Som String First_Name = "Sachin" Last_Name = "Tendulkar" End Sub

Steg 4: Kombinera nu dessa två namn till 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 As String Dim Last_Name Som String Dim Full_Name As 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 det fullständiga namnet 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 slingor för att kombinera förnamn och 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 teckensymboler 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 innehåller våra värden, till exempel både förnamn och efternamn.
  • Avgränsaren är ingenting annat än vad som är avgränsaren 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 

Intressanta artiklar...