Concaténation VBA

La concaténation signifie joindre deux valeurs ou deux chaînes ensemble, similaire à Excel que nous utilisons & ou également connu sous le nom d'opérateur esperluette pour concaténer, deux concaténer deux chaînes que nous utilisons & opérateur comme String 1 & String 2, maintenant il y a une chose importante à retenir et que C'est en utilisant l'opérateur & que nous devons fournir des espaces ou VBA le considérera comme long.

Chaînes de concaténation VBA

VBA Concatenate est l'une de ces choses que nous avons utilisées pour combiner deux ou plusieurs valeurs de cellule de valeur ensemble si je dis dans un langage simple qu'il combine, c'est joindre deux ou plusieurs valeurs pour avoir la pleine valeur.

Nous avons une fonction appelée CONCATENER dans Excel qui combinera ensemble deux ou plusieurs valeurs ou deux ou plusieurs valeurs de cellule.

Mais dans VBA, nous n'avons aucune fonction intégrée pour concaténer deux valeurs ou plus ensemble. En fait, nous n'avons même pas accès à la classe de fonctions de feuille de calcul pour accéder à la fonction VBA CONCATENATE en tant que fonction de feuille de calcul.

Comment concaténer des chaînes dans VBA?

Si nous n'avons aucune sorte de fonction intégrée pour concaténer les valeurs et même la fonction de feuille de calcul n'est pas intégrée à VBA. Maintenant, le défi est de savoir comment combiner les valeurs?

Même s'il n'y a pas de fonctions intégrées, nous pouvons encore combiner dans VBA en utilisant le symbole «esperluette» (&).

Si vous suivez régulièrement nos publications, nous utilisons souvent le symbole esperluette (&) dans notre codage.

Par exemple, si vous avez le prénom et le nom séparément, nous pouvons combiner ces deux et en faire un nom complet. Suivez les étapes ci-dessous pour écrire le code de macro VBA par nous-mêmes.

Étape 1: Accédez à Visual Basic Editor et créez une sous-procédure VBA.

Étape 2: définissez trois variables comme chaîne .

Code:

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

Étape 3: Attribuez maintenant le prénom et le nom à la variable.

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 

Étape 4: Combinez maintenant ces deux noms à la variable Full_Name à l' aide de la variable esperluette.

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 

Étape 5: affichez maintenant la valeur de la variable Full_Name dans la boîte de message.

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 

Maintenant, exécutez le code, nous obtiendrons le nom complet dans la boîte de message.

Le problème avec ce nom complet est que nous n'avons pas ajouté d'espace de caractère séparateur de prénom et de nom, tout en combinant le prénom et le nom, combiner également le caractère espace.

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 

Cela donnera maintenant un nom complet approprié.

Comme cela en utilisant le symbole esperluette, nous pouvons concaténer des valeurs. Nous allons maintenant résoudre le problème de la feuille de calcul consistant à résoudre le prénom et le nom ensemble pour en faire un nom complet.

Comme nous devons combiner de nombreux noms, nous devons utiliser des boucles pour combiner le prénom et le nom. Le code ci-dessous fera le travail pour vous.

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 

Cela combinera le prénom et le nom, tout comme notre fonction de concaténation VBA.

Erreur courante dans la concaténation Ampersand VBA

Si vous remarquez mes codes, j'ai ajouté un espace entre les valeurs et un symbole esperluette. Ceci est essentiel en raison de la nature de la programmation VBA.

Nous ne pouvons pas combiner des valeurs et des symboles esperluette ensemble, sinon nous obtiendrons une erreur de compilation comme ci-dessous.

Concaténation VBA à l'aide de la fonction JOIN

Dans VBA, nous pouvons utiliser la fonction JOIN pour combiner des valeurs. Tout d'abord, regardez la syntaxe de la fonction VBA JOIN.

  • Le tableau n'est rien d'autre qu'un tableau qui contient nos valeurs. Par exemple, le prénom et le nom de famille.
  • Le délimiteur n'est rien d'autre que le séparateur entre chaque valeur de tableau, dans ce cas, le caractère d'espace.

Le code ci-dessous montrera l'exemple de la même chose.

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