Excel VBA Concatenate

Aaneenschakeling kan worden gedefinieerd als het samenvoegen of toevoegen van twee strings of gegevensitems om een ​​enkele string of gegevensitem te krijgen, wordt aaneenschakeling genoemd. In eenvoudige woorden, als we een lijst met voornamen in één kolom en achternaam in een andere kolom hebben met behulp van aaneenschakeling, kunnen we beide combineren en binnen een fractie van seconden in een enkele cel plaatsen. In Excel hebben we een werkbladfunctie met de naam Concat (). Maar dit soort functie is niet beschikbaar in VBA. We kunnen concatenate () niet gebruiken in VBA-codering, omdat dit niet werkt. Er zijn dus geen functies beschikbaar in VBA en hebben ook geen toegang tot de werkbladfuncties, en vervolgens hoe we twee of meer tekenreeksen in VBA samenvoegen.

Eerst zullen we zien hoe we het zullen doen met de werkbladfunctie, daarna zullen we hetzelfde zien in VBA. Overweeg twee strings in excel zoals getoond in onderstaande screenshot.

Gebruik nu de aaneengeschakelde functie om beide tekenreeksen te combineren.

Neem de formule in acht, D4 en E4 zijn het adres van de cellen die we willen combineren. Zoals hierboven kunnen we meerdere getallenreeksen uit verschillende cellen samenvoegen.

Hoe Excel VBA Concatenate-functie te gebruiken?

We zullen leren hoe een VBA-aaneenschakeling te gebruiken met enkele voorbeelden in Excel.

U kunt deze VBA Concatenate Excel-sjabloon hier downloaden - VBA Concatenate Excel-sjabloon

VBA Concatenate - Voorbeeld # 1

Omdat we geen ingebouwde functies in VBA hebben, kan aaneenschakeling in VBA worden bereikt met behulp van de operator ampersand (&).

We nemen hetzelfde voorbeeld dat we al hebben genomen voor de werkbladfunctie. We hebben "I love" in cel D4 en "India" in cel E4. Nu zullen we die twee strings in VBA combineren. Ga naar het VBA-editortabblad.

Stap 1: Ga naar het tabblad Ontwikkelaars en selecteer vervolgens het tabblad "Visual Basic" aan de linkerkant. Daarna gaat u naar het onderstaande scherm.

Stap 2: Eerst moeten we een subproces maken met elke naam zoals aaneenschakeling . Om het subproces te initiëren, gebruikt u trefwoord Sub en procesnaam "aaneenschakeling".

Code:

 Sub Concatenate () Einde Sub 

Stap 3: In Subproces moeten we tekenreeksen zoals string1, string2 en full_string definiëren met behulp van het trefwoord dim.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String End Sub 

Stap 4: Nu moeten we de string "I love" toewijzen aan string1 en "India" aan string2 met behulp van de "=" toewijzingsoperator zoals hieronder.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "I Love" String2 = "India" End Sub 

Stap 5: Combineer nu de string1 en string2 met de operator ampersand en wijs die combinatie toe aan full_string zoals hieronder. Houd een spatie tussen stringvariabelen en ampersand-operator om foutmelding te voorkomen.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "I Love" String2 = "India" full_string = String1 & String2 End Sub 

Stap 6: Nu wordt aaneenschakeling van zowel string1 als string2 opgeslagen in full_string. Geef deze tekenreeks weer met behulp van een berichtvenster zoals hieronder.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "I Love" String2 = "India" full_string = String1 & String2 MsgBox (full_string) End Sub 

Stap 7: Nu is het tijd om het proces uit te voeren. Klik op de afspeelknop die is gemarkeerd met een rood vak. Het resultaat verschijnt in het berichtvenster zoals hieronder.

Stap 8: In het bovenstaande voorbeeld hebben we de twee strings rechtstreeks in het programma genomen en er is geen ruimte tussen de eerste string en de tweede string. Hoe dan ruimte toevoegen? Zeer eenvoudig tijdens het samenvoegen, ook aaneengeschakelde ruimte.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "I Love" String2 = "India" full_string = String1 & "" & String2 MsgBox (full_string) End Sub 

Stap 9: Bekijk de bovenstaande afbeelding. We hebben de ruimte tussen string1 en string2 toegevoegd met behulp van dubbele aanhalingstekens. Als we '-' willen toevoegen, kunnen we dat ook doen.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "I Love" String2 = "India" full_string = String1 & "-" & String2 MsgBox (full_string) End Sub 

Stap 10: Het resultaat is zoals hieronder.

VBA Concatenate - Voorbeeld # 2

Stap 1: Nu zullen we de gegevens uit het Excel-blad nemen en samenvoegen en vervolgens de resultaten weergeven. Wijs daarvoor de gegevens in de cellen toe aan string1 en string2 zoals hieronder getoond.

Code:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells (4, 4) .Value String2 = Cells (4, 5) .Value MsgBox (full_string) End Sub 

Stap 2: Bekijk de bovenstaande afbeelding, we hebben de waarde in cellen (4, 4) toegewezen aan stirng1 en cellen (4, 5) in string2. Gebruik zoals gewoonlijk beide reeksen samen met de operator ampersand.

Code:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells (4, 4) .Value String2 = Cells (4, 5) .Value full_string = String1 & "" & String2 MsgBox (full_string) End Sub 

Stap 3: Hierdoor worden de gegevens in cellen (4, 4) en cellen (4, 5) gecombineerd en opgeslagen in full_string. Voer het proces nu uit door op het afspeelsymbool te klikken.

Stap 4: De gegevens zijn afkomstig van Excel hieronder weergegeven.

Stap 5: Als we de gegevens in de Excel wijzigen en opnieuw uitvoeren, veranderen de programmaresultaten volgens de Excel-gegevens. In plaats van India, veranderde ik in snoep nu gaan we rennen en controleren.

Stap 6: Nu komt het resultaat in het berichtvenster. In plaats van een berichtvenster als we zelf willen excelleren, kunnen we dat doen.

Code:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells (4, 4) .Value String2 = Cells (4, 5) .Value Cells (4, 7) .Value = String1 & String2 MsgBox ( full_string) End Sub 

Stap 7: Ken de aaneenschakeling in celadrescel (4, 7) toe en verwijder msgbox omdat we geen berichtenbox meer nodig hebben. Druk op de afspeelknop en ga naar je excelleren en vinkje krijgt het resultaat in cel (4, 7) (rij 4 en kolom 7).

Stap 8: Terwijl we twee strings toevoegen, kunnen we het "+" symbool ook gebruiken zoals hieronder.

Code:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells (4, 4) .Waarde String2 = Cells (4, 5) .Waarde Cells (4, 7) .Waarde = String1 + String2 End Sub 

Stap 9: Het resultaat is zoals hieronder. Er zal geen verschil zijn.

Stap 10: Maar als we getallen gebruiken in plaats van tekenreeksen om samen te voegen met het "+" -symbool, wordt alleen aaneenschakeling en geen optelling uitgevoerd omdat we het gegevenstype als een tekenreeks en niet als een geheel getal hebben gebruikt.

Stap 11: Het resultaat is zoals hieronder.

Als we het gegevenstype als geheel getal gebruiken, moeten we de operator ampersand alleen gebruiken voor aaneenschakeling. Als we “+” gebruiken terwijl we het gegevenstype integer gebruiken, dan zal het niet samenvoegen maar een toevoeging uitvoeren.

VBA Concatenate - Voorbeeld # 3

Stap 1: Als we een string en een nummer willen combineren, kunnen we dezelfde techniek toepassen. Houd daarvoor de nummerwaarde in de ene cel en de tekenreekswaarde in een andere cel en klik op de optie Uitvoeren.

Stap 2: Het resultaat heeft geen impact, het is hetzelfde stringresultaat als eerder met de enige wijziging is nummer in plaats van een string.

Dingen om te onthouden

  • Aaneenschakeling is om de reeksen van twee of meer meerdere reeksen van verschillende cellen te combineren. Om dit in Excel uit te voeren, hebben we een ingebouwde werkbladfunctie die CONCAT is.
  • Werkbladfunctie concat is niet toegankelijk in VBA om samen te voegen.
  • Aaneenschakeling zal worden bereikt met behulp van operator ampersand (&) en plus (+). Als u een geheel gegevenstype gebruikt, voert het "+" -symbool een extra bewerking uit in plaats van aaneenschakeling.
  • Gebruik spaties voor en na de symbolen & en +, anders krijgt u een foutmelding.
  • Houd bij het definiëren van tekenreeksvariabelen geen spatie in de naam van een variabele. Als er ruimte is in de naam van de tekenreeksvariabele, wordt dit niet toegestaan, omdat er een foutmelding wordt weergegeven zoals hieronder.

Aanbevolen artikelen

Dit is een handleiding voor VBA Concatenate. Hier bespreken we hoe u Excel VBA Concatenate-functie kunt gebruiken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA InStr uitgelegd met voorbeelden
  2. VBA Geheel gegevenstype
  3. Hoe cel te selecteren met behulp van VBA-code?
  4. Transponeer een bereik in VBA

Categorie: