Hoe vba gebruiken om tekenreeksen samen te voegen?

Om twee tekenreeksen samen te voegen met behulp van VBA-code, moet u het ampersand gebruiken. U kunt een ampersand tussen twee tekenreeksen gebruiken om ze te combineren en deze nieuwe waarde vervolgens toewijzen aan een cel, variabele of berichtvenster. Op dezelfde manier kunt u ook meer dan twee waarden samenvoegen.

Later zullen we een eenvoudig voorbeeld zien om het te begrijpen.

Stappen om VBA te gebruiken om samen te voegen

  1. Voer eerst de eerste string in met dubbele aanhalingstekens.
  2. Typ daarna een ampersand.
  3. Voer vervolgens de tweede tekst in met dubbele aanhalingstekens.
  4. Wijs deze waarde aan het einde toe aan een cel of variabele, of gebruik een berichtvenster om deze te bekijken.
 Sub vba_concatenate() Range("A1") = "Mike" & "Ross" End Sub

Samenvoegen met een scheidingsteken

Je kunt ook een scheidingsteken tussen twee snaren gebruiken door simpelweg een derde versterker-teken toe te voegen. Beschouw de volgende code.

 Range("A1") = "Mike" & "-" & "Ross"

In de bovenstaande code heb je een scheidingsteken in twee tekenreeksen gebruikt en deze samengevoegd met alleen en-tekens. Dus eigenlijk moet je, wanneer je iets wilt omsluiten, er een ampersand in gebruiken.

Samenvoegen met behulp van variabelen

Je kunt ook waarden in variabelen opslaan en vervolgens de waarden van deze twee variabelen aaneenschakelen. Beschouw de volgende code.

In de bovenstaande code heb je variabelen gedeclareerd als variabelen en vervolgens heb je waarden aan deze variabelen toegewezen. En aan het einde gebruikten we een ampersand om de drie variabelen te combineren en vervolgens het resultaat toe te wijzen aan cel A1.

Voeg een bereik samen met VBA

U kunt ook waarden uit een celbereik samenvoegen met behulp van VBA. Beschouw de volgende macro.

 Sub vba_concatenate() Dim rng As Range Dim i As String Dim SourceRange As Range Set SourceRange = Range("A1:A10") For Each rng In SourceRange i = i & rng & " " Next rng Range("B1").Value = Trim(i) End Sub

In de bovenstaande code heb je FOR NEXT (For Loops) gebruikt om door het bereik te lopen dat je wilt samenvoegen.

Dus elke cel in het bereik (A1:A10) slaat die waarde op in de variabele I en gebruikt een ampersand om in elke iteratie een waarde samen te voegen. Stel aan het einde het gecombineerde kanaal in op bereik B1.

En de volgende code voegt de waarden van het geselecteerde bereik samen. Het enige dat u hoeft te doen, is een bereik selecteren en vervolgens de code uitvoeren.

 Dim rng As Range Dim i As String For Each rng In Selection i = i & rng & " " Next rng Range("B1").Value = Trim(i)

Voeg een hele kolom of rij samen

Als je een hele kolom of rij wilt aaneenschakelen, kun je in dat geval beter niet de lusmethode gebruiken. U kunt de werkbladfunctie “TextJoin” gebruiken, waarmee u een hele rij of kolom kunt samenvoegen (denk aan de volgende code).

 'join values from column A. Dim myRange As Range Dim myString As String Range("B1") = WorksheetFunction.TextJoin(" ", True, Range("A:A")) 'join values from row 1. Dim myRange As Range Dim myString As String Range("B1") = WorksheetFunction.TextJoin(" ", True, Range("1:1"))

Voeg een reactie toe

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *