Concatenazione significa unire due valori o due stringhe insieme, in modo simile a Excel che usiamo & o noto anche come operatore e commerciale per concatenare, due concatenano due stringhe che usiamo & operatore come Stringa 1 e Stringa 2, ora c'è una cosa importante da ricordare e quella è durante l'utilizzo dell'operatore & dobbiamo fornire spazi o VBA lo considererà più a lungo.
Stringhe concatenate VBA
VBA Concatenate è una di quelle cose che abbiamo usato per combinare due o più valori di celle di valore insieme. Se dico in un linguaggio semplice che sta combinando, sta unendo due o più valori insieme per avere il pieno valore.
Abbiamo una funzione chiamata CONCATENATE in Excel, che combinerà insieme due o più valori o due o più valori di cella insieme.
Ma in VBA, non abbiamo alcuna funzione incorporata per concatenare due o più valori insieme. In effetti, non possiamo nemmeno accedere alla classe della funzione del foglio di lavoro per accedere alla funzione CONCATENATE VBA come funzione del foglio di lavoro.
![](https://cdn.know-base.net/4028323/vbaconcatenate_how_to_concatenate_strings_together_in_vba_.png.webp)
Come concatenare le stringhe in VBA?
Se non abbiamo alcun tipo di funzione incorporata per concatenare i valori e anche la funzione del foglio di lavoro non è integrata con VBA. Ora la sfida è: come combinare i valori?
Anche se non ci sono funzioni integrate, possiamo comunque combinare in VBA usando il simbolo "e commerciale" (&).
Se segui regolarmente i nostri post, usiamo spesso il simbolo e commerciale (&) nella nostra codifica.
Ad esempio, se hai il nome e il cognome separatamente, possiamo combinare questi due e renderlo un nome completo. Seguire i passaggi seguenti per scrivere da soli il codice macro VBA.
Passaggio 1: vai a Visual Basic Editor e crea una procedura secondaria VBA.
Passaggio 2: definire tre variabili come String .
Codice:
Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String End Sub
Passaggio 3: ora assegna il nome e il cognome alla variabile.
Codice:
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
Passaggio 4: ora combina questi due nomi alla variabile Full_Name utilizzando la variabile e commerciale.
Codice:
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
Passaggio 5: ora mostra il valore della variabile Full_Name nella finestra del messaggio.
Codice:
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
Ora esegui il codice; otterremo il nome completo nella finestra del messaggio.
![](https://cdn.know-base.net/4028323/vbaconcatenate_how_to_concatenate_strings_together_in_vba_.gif)
Il problema con questo nome completo è che non abbiamo aggiunto uno spazio per i caratteri separatori del nome e del cognome, mentre combinando il nome e il cognome, combina anche il carattere spazio.
Codice:
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
Questo darà un nome completo corretto ora.
![](https://cdn.know-base.net/4028323/vbaconcatenate_how_to_concatenate_strings_together_in_vba__2.gif)
In questo modo, utilizzando il simbolo e commerciale, possiamo concatenare i valori. Ora risolveremo il problema del foglio di lavoro di risolvere insieme Nome e Cognome per renderlo un nome completo.
![](https://cdn.know-base.net/4028323/vbaconcatenate_how_to_concatenate_strings_together_in_vba__2.png.webp)
Poiché abbiamo bisogno di combinare molti nomi, dobbiamo usare i loop per combinare il nome e il cognome. Il codice seguente farà il lavoro per te.
Codice:
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
Questo combinerà il nome e il cognome, proprio come la nostra funzione di concatenazione VBA.
![](https://cdn.know-base.net/4028323/vbaconcatenate_how_to_concatenate_strings_together_in_vba__3.gif)
Errore comune nella concatenazione VBA e commerciale
Se noti i miei codici, ho aggiunto uno spazio tra i valori e un simbolo e commerciale. Ciò è essenziale a causa della natura della programmazione VBA.
Non possiamo combinare valori e simboli di e commerciale insieme; altrimenti, otterremo l'errore di compilazione come di seguito.
![](https://cdn.know-base.net/4028323/vbaconcatenate_how_to_concatenate_strings_together_in_vba__3.png.webp)
Concatena VBA utilizzando la funzione JOIN
In VBA, possiamo usare la funzione JOIN per combinare i valori. Per prima cosa, guarda la sintassi della funzione JOIN di VBA.
![](https://cdn.know-base.net/4028323/vbaconcatenate_how_to_concatenate_strings_together_in_vba__4.png.webp)
- L'array non è altro che un array che contiene i nostri valori, ad esempio, sia il nome che il cognome.
- Il delimitatore non è altro che il separatore tra ogni valore di matrice, in questo caso, il carattere spazio.
Il codice seguente mostrerà l'esempio dello stesso.
Codice:
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