VBA aaneenschakelen

Samenvoegen betekent twee waarden of twee strings samenvoegen, vergelijkbaar met Excel gebruiken we & of ook wel bekend als ampersand-operator om samen te voegen, twee voegen twee strings samen die we gebruiken & operator zoals String 1 & String 2, nu is er een belangrijk ding om te onthouden en dat is terwijl we de operator & gebruiken, we moeten spaties opgeven of VBA zal het zo lang beschouwen.

VBA-tekenreeksen samenvoegen

VBA Concatenate is een van die dingen die we hebben gebruikt om twee of meer waardecelwaarden samen te combineren, als ik in eenvoudige taal zeg dat het combineert, het is het samenvoegen van twee of meer waarden om de volledige waarde te hebben.

We hebben een functie genaamd CONCATENATE in Excel die het samenvoegen van twee of meer waarden of twee of meer celwaarden samen doet.

Maar in VBA hebben we geen ingebouwde functie om twee of meer waarden samen te voegen. In feite krijgen we zelfs geen toegang tot de werkbladfunctieklasse om toegang te krijgen tot de VBA CONCATENATE-functie als een werkbladfunctie.

Hoe tekenreeksen samen te voegen in VBA?

Als we geen enkele ingebouwde functie hebben om waarden samen te voegen en zelfs de werkbladfunctie is niet geïntegreerd met VBA. Nu is de uitdaging: hoe combineren we waarden?

Hoewel er geen ingebouwde functies zijn, kunnen we toch combineren in VBA met behulp van het "en-teken" (&) - symbool.

Als u onze berichten regelmatig volgt, gebruiken we vaak het ampersand (&) -symbool in onze codering.

Als u bijvoorbeeld de voor- en achternaam afzonderlijk heeft, kunnen we deze twee combineren en er een volledige naam van maken. Volg de onderstaande stappen om de VBA-macrocode zelf te schrijven.

Stap 1: Ga naar Visual Basic Editor en maak een VBA-subprocedure.

Stap 2: Definieer drie variabelen als String .

Code:

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

Stap 3: Wijs nu de voornaam en achternaam toe aan de variabele.

Code:

 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 

Stap 4: Combineer nu deze twee namen met de variabele Full_Name met behulp van de ampersand-variabele.

Code:

 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 

Stap 5: Toon nu de waarde van de variabele Full_Name in het berichtvenster.

Code:

 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 

Voer nu de code uit, we krijgen de volledige naam in het berichtvenster.

Het probleem met deze volledige naam is dat we geen spatie tussen de voornaam en achternaam hebben toegevoegd, terwijl we de voornaam en achternaam combineren, maar ook de spatiebalk.

Code:

 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 

Dit geeft nu een goede volledige naam.

Op deze manier kunnen we met behulp van het ampersand-symbool waarden samenvoegen. Nu zullen we het werkbladprobleem oplossen om voornaam en achternaam samen op te lossen om er een volledige naam van te maken.

Omdat we veel namen moeten combineren, moeten we loops gebruiken om de voornaam en achternaam te combineren. De onderstaande code zal het werk voor u doen.

Code:

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

Dit combineert de voornaam en achternaam, net als onze VBA-aaneenschakelfunctie.

Veelgemaakte fout in Ampersand VBA-aaneenschakeling

Als je mijn codes opmerkt, heb ik een spatie tussen de waarden en een ampersand-symbool toegevoegd. Dit is essentieel vanwege de aard van VBA-programmering.

We kunnen waarden en ampersand-symbolen niet combineren, anders krijgen we een compileerfout zoals hieronder.

VBA aaneenschakelen met de functie JOIN

In VBA kunnen we de functie JOIN gebruiken om waarden te combineren. Kijk eerst naar de syntaxis van de VBA JOIN-functie.

  • De array is niets anders dan een array die onze waarden bevat. Bijvoorbeeld zowel voornaam als achternaam.
  • Het scheidingsteken is niets anders dan het scheidingsteken tussen elke matrixwaarde, in dit geval een spatie.

De onderstaande code toont het voorbeeld van hetzelfde.

Code:

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