Sådan bruges Concatenate i Excel VBA (4 metoder)

  • Del Dette
Hugh West

I Excel er sammenkædning en proces, hvor to strenge forbindes til en enkelt streng. Hvis vi har en tabel med fornavne i en kolonne og efternavne i en anden kolonne, kan vi bruge sammenkædningsproceduren til at sammenkæde og kombinere dem i en enkelt celle på et splitsekund. I Excel har vi en funktion, der hedder CONCATENATE () der gør det muligt at foretage denne sammenkædning. I VBA , denne type funktion er ikke tilladt. Vi kan ikke bruge CONCATENATE () i VBA-koden, da det ikke vil virke. Fordi VBA mangler indbyggede funktioner, og vi kan ikke bruge regnearksfunktioner. Så denne lektion vil vise dig, hvordan du kan bruge VBA sammenkæde for at kombinere flere celler, kolonner og rækker i Excel.

Download arbejdsbog til øvelser

Download denne arbejdsbog til træning, så du kan øve dig, mens du læser denne artikel.

VBA Sammenkædningsfunktion.xlsm

Introduktion til VBA Concatenate-funktionen

Som vi har nævnt, at Excel ikke har nogen indbygget funktion til VBA Concatenate, men vi kan få det til at fungere som en funktion ved at kombinere forskellige strenge med operatorer. Her bruger vi ampersand (&) som vores operatør.

⟴ Syntaks

String1 = " Første tekst"

String2 = " Anden tekst"

⟴ Returneringsværdi

Return_value = String1 & String2

4 forskellige anvendelser af VBA Concatenate-funktionen i Excel

Her vil vi bruge 4 forskellige metoder til at udføre sammenkædningsprocessen. Vi vil anvende forskellige operatorer i kombination med VBA kode for at opnå dette.

1. Brug Ampersand (&) Operator til at sammenføje celler i VBA Concatenate

Som vist i nedenstående skærmbillede har vi en dataindsamling med to kolonner med fornavne i den ene kolonne og efternavne i den anden. Ved at slå de to kolonner sammen kan vi nu få hele navnene. VBA ikke har nogen indbyggede metoder til sammenkædning, så vi bruger ampersand (&) operatøren som beskrevet i nedenstående vejledning.

Trin 1:

  • Først og fremmest skal du trykke på Alt + F11 for at åbne den Makroaktiveret regneark.
  • Klik derefter på
  • Vælg Modul .

Trin 2:

  • Hvis du vil kombinere to celler til én, skal du kopiere og indsætte følgende VBA
 Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value Cells(5, 5).Value = String1 & String2 MsgBox (full_string) End Sub 

Her,

  • String1 = Celler(5, 2).Værdi er den første celleplacering B5 , række 5, og kolonne 2 .
  • String2 = Celler(5, 3).Værdi er den anden celleplacering C5 , række 5, og kolonne 3 .
  • Cells(5, 5).Value = String1 & String2 er resultatcellens placering E5 , række 5 og kolonne 5 .
  • String1 & String2 er de to strenge, der er forenet med et ampersand (&)

Trin 3:

  • Gem og tryk på F5 for at køre programmet.

Derfor vil du få resultatet i den E5 celle i dit aktuelle regneark.

Trin 4:

  • Følg og gentag trinene for resten af cellerne og få resultaterne som vist i nedenstående billede.

Bemærk. For at køre VBA kode, skal du hver gang sørge for, at din Excel-fil er gemt i Excel Makroaktiveret regneark (xlsm.) format.

Læs mere: Sådan bruger du VBA StrComp i Excel (5 almindelige eksempler)

2. Brug Plus (+) operatoren til at sammenføje celler i VBA Concatenate

Som beskrevet i det foregående afsnit har vi brugt ampersand (&) operatoren til at sammenføje cellestrenge. Du kan opnå det samme resultat ved at anvende plus-operatoren (+) tegn i stedet for ampersand (&) operatør. For at få det gjort, skal du følge disse trin.

Trin 1:

  • For at åbne Makro i Excel, tryk på Alt + F11 .
  • Klik på Indsæt og vælg
  • Når du har åbnet programsiden, skal du indsætte følgende VBA
 Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 + String2 MsgBox (full_string) End Sub 

Her,

  • Cells(5, 5).Value = String1 + String2 er denne linje, vi bruger plus (+) tegn i stedet for ampersand (&)

Trin 2:

  • Når du har indsat, skal du gemme og trykke på F5 for at køre programmet. Som følge heraf vil du se ændringen i celle E5 .

  • For at opnå de endelige resultater skal du udfylde de ønskede celler ved at udføre de foregående trin igen.

Læs mere: Sådan bruger du VBA StrConv-funktionen (5 eksempler)

Lignende læsninger:

  • Sådan kalder du en Sub i VBA i Excel (4 eksempler)
  • Returner en værdi i VBA-funktion (både array- og ikke-array-værdier)
  • Sådan bruger du VBA DIR-funktionen i Excel (7 eksempler)
  • Brug VBA UCASE-funktionen i Excel (4 eksempler)
  • Sådan bruges InStr-funktionen i VBA (3 eksempler)

3. Tilføj flere kolonner ved hjælp af VBA Concatenate

I de to foregående fremgangsmåder har vi diskuteret, hvordan man kombinerer to celler. Men hvis vi ønsker at anvende det på hele kolonnen, vil det tage lang tid at tilføje en efter en. Vi vil lære dig, hvordan du tilføjer flere kolonner samlet med VBA kode til dette.

Trin 1:

  • For det første, for at åbne Makro tryk på Alt + F11
  • Vælg Modul fra den Indsæt fanen
  • Derefter indsætter du følgende VBA
 Sub ConcatCols() 'sammenkædning af kolonne B & C i kolonne E Dim LastRow As Long With Worksheets("Sheet3") LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row With .Range("E5:E" & LastRow) .Formula = "=B5&C5" .Value = .Value End With End With End With End Sub 

Her,

  • Med Worksheets("Sheet3") er dit nuværende regnearknavn.
  • LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row er det første kolonnenavn.
  • Med .Range("E5:E" & LastRow) er det returnerede celleområde.
  • .Formula = "=B5&C5" er formlen til at sammenføje den første celle i intervallet.

Trin 2:

  • Til sidst skal du gemme og trykke på F5 for at køre programmet.

Resultatet er, at du får resultaterne udelukkende i en kolonne.

Læs mere: Sådan bruger du VBA Rnd i Excel (4 metoder)

4. Deltag flere rækker ved hjælp af VBA Concatenate

Ud over at tilføje flere kolonner kan vi også anvende VBA kode til at sammenkæde flere rækker til én. Som vist i nedenstående skærmbillede ønsker vi at sammenkæde de tre rækker til én. Følg nedenstående enkle trin for at sammenkæde rækkerne.

Trin 1:

  • Til aktivering af Makro i Excel, tryk på Alt + F11 .
  • Vælg derefter Modul fra den Indsæt
  • Hvis du vil sammenkæde rækkerne, skal du indsætte VBA
 Sub vba_concatenate() Dim rng As Range Dim i As String Dim SourceRange As Range Set SourceRange = Range("B5:D5") For Each rng In SourceRange i = i & rng & " " " Next rng Range("B8").Value = Trim(i) End Sub 

Her,

  • Set SourceRange = Range("B5:D5") er kildecelleområdet.
  • Range("B8").Value = Trim(i) er nummeret på den tilbagevendende celle.

Trin 2:

  • Til sidst skal du gemme programmet og trykke på F5 til at køre.

Det endelige resultat af sammenkædningen af de tre rækker vil således blive vist i celle B8 .

Læs mere: Sådan fjernes de øverste rækker i Excel (7 metoder)

Konklusion

For at opsummere håber jeg, at dette indlæg har givet klare instruktioner om, hvordan man bruger VBA sammenkædning i Excel på en række forskellige måder. Alle disse teknikker skal læres og bruges på dine data. Gennemgå øvelsesbogen, og brug din nyvundne viden. På grund af din venlige støtte er vi motiveret til at fortsætte med at skabe workshops som denne.

Du er velkommen til at kontakte os, hvis du har spørgsmål, og lad os vide, hvad du synes i kommentarfeltet nedenfor.

Exceldemy Teamet vil konstant svare på dine spørgsmål.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.