Come utilizzare vba per concatenare stringhe?
Per concatenare due stringhe utilizzando il codice VBA, è necessario utilizzare la e commerciale. È possibile utilizzare una e commerciale tra due stringhe per combinarle, quindi assegnare questo nuovo valore a una cella, variabile o finestra di messaggio. Allo stesso modo, puoi anche concatenare più di due valori.
Successivamente vedremo un semplice esempio per capirlo.
Passaggi per utilizzare VBA per concatenare
- Per prima cosa inserisci la prima stringa usando le virgolette doppie.
- Successivamente, digita una e commerciale.
- Successivamente, inserisci il secondo testo utilizzando le virgolette doppie.
- Alla fine, assegna questo valore a una cella o variabile o utilizza una finestra di messaggio per vederlo.
Sub vba_concatenate() Range("A1") = "Mike" & "Ross" End Sub
Concatenare con un delimitatore
Puoi anche utilizzare un delimitatore tra due stringhe semplicemente aggiungendo una terza ampsand. Considera il seguente codice.
Range("A1") = "Mike" & "-" & "Ross"
Nel codice sopra, hai utilizzato un delimitatore in due stringhe e le hai unite utilizzando solo la e commerciale. Quindi, in pratica, ogni volta che devi racchiudere qualcosa, devi usare una e commerciale al suo interno.
Concatena utilizzando le variabili
Puoi anche memorizzare valori in variabili e quindi concatenare i valori di queste due variabili. Considera il seguente codice.
Nel codice sopra hai variabili dichiarate come variabili e poi hai assegnato valori a queste variabili. Alla fine abbiamo utilizzato una e commerciale per combinare le tre variabili e quindi assegnato il risultato alla cella A1.
Concatena un intervallo utilizzando VBA
Puoi anche concatenare valori da un intervallo di celle utilizzando VBA. Considera la seguente 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
Nel codice sopra, hai utilizzato FOR NEXT (For Loops) per scorrere l’intervallo che desideri concatenare.
Quindi va in ciascuna cella nell’intervallo (A1: A10) memorizza quel valore nella variabile I e utilizza una e commerciale per concatenare un valore in ogni iterazione. Alla fine, imposta il canale combinato sulla gamma B1.
E il codice seguente concatena i valori dell’intervallo selezionato. Tutto quello che devi fare è selezionare un intervallo e quindi eseguire il codice.
Dim rng As Range Dim i As String For Each rng In Selection i = i & rng & " " Next rng Range("B1").Value = Trim(i)
Concatena un’intera colonna o riga
Se vuoi concatenare un’intera colonna o riga, in tal caso è meglio non utilizzare il metodo loop. È possibile utilizzare la funzione del foglio di lavoro “TextJoin” che può unire un’intera riga o colonna (considerare il seguente codice).
'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"))