Sommario
In Excel, la concatenazione è il processo di unione di due stringhe per formare un'unica stringa. In parole povere, se abbiamo una tabella con i nomi in una colonna e i cognomi in un'altra, possiamo usare la procedura di concatenazione per concatenarli e unirli in una singola cella in una frazione di secondo. In Excel, abbiamo una funzione chiamata CONCATENATO () che ci permette di fare questa concatenazione. Tuttavia, in VBA questo tipo di funzione non è consentita. Non possiamo usare CONCATENATO () nel codice VBA perché non funzionerà. Perché VBA non ha funzioni incorporate e non possiamo utilizzare le funzioni del foglio di calcolo. Pertanto, questa lezione vi mostrerà come usare VBA concatenare per combinare più celle, colonne e righe in Excel.
Scarica il quaderno di esercizi
Scaricate questo quaderno di esercizi per esercitarvi durante la lettura di questo articolo.
VBA Funzione di concatenazione.xlsmIntroduzione alla funzione VBA Concatenate
Come abbiamo detto, Excel non ha alcuna funzione incorporata per la concatenazione VBA, ma possiamo farla funzionare come una funzione combinando diverse stringhe con gli operatori. Qui usiamo l'ampersand (&) come nostro operatore.
⟴ Sintassi
String1 = " Primo testo"
String2 = " Secondo testo
⟴ Valore di ritorno
Valore_di_ritorno = String1 & String2
4 usi diversi della funzione VBA Concatenare in Excel
In questo caso, utilizzeremo 4 approcci diversi per eseguire il processo di concatenazione. Applicheremo diversi operatori in combinazione con VBA per ottenere questo risultato.
1. Utilizzare l'operatore Ampersand (&) per unire le celle in VBA Concatenate
Come mostrato nella schermata seguente, abbiamo una raccolta di dati a due colonne con i nomi in una colonna e i cognomi nell'altra. Unendo le due colonne, possiamo ottenere i nomi interi. Perché VBA non ha metodi integrati per la concatenazione, useremo l'ampersand (&) come indicato nelle istruzioni seguenti.
Fase 1:
- Innanzitutto, premere Alt + F11 per aprire il Foglio di lavoro abilitato alle macro.
- Quindi, fare clic su
- Selezionare Modulo .
Fase 2:
- Per combinare due celle in una, copiare e incollare quanto segue VBA
Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 & String2 MsgBox (full_string) End Sub
Qui,
- String1 = Celle(5, 2).Valore è la posizione della prima cella B5 , riga 5, e la colonna 2 .
- String2 = Celle(5, 3).Valore è la posizione della seconda cella C5 , riga 5, e la colonna 3 .
- Cells(5, 5).Value = String1 & String2 è la posizione della cella del risultato E5 , riga 5 e la colonna 5 .
- String1 & String2 sono le due stringhe unite dall'ampersand (&)
Fase 3:
- Salvare e premere F5 per eseguire il programma.
Pertanto, si otterrà il risultato nel campo E5 del foglio di lavoro corrente.
Passo 4:
- Seguite e ripetete i passaggi per le altre celle e ottenete i risultati mostrati nell'immagine seguente.
Per saperne di più: Come utilizzare VBA StrComp in Excel (5 esempi comuni)
2. Utilizzare l'operatore più (+) per unire le celle in VBA Concatenare
Come descritto nella sezione precedente, abbiamo utilizzato l'ampersand (&) per unire stringhe di celle. Si può ottenere lo stesso risultato applicando l'operatore più (+) al posto dell'ampersand (&) operatore. Per farlo seguire la seguente procedura.
Fase 1:
- Per aprire Macro in Excel, premere Alt + F11 .
- Cliccare Inserire e selezionare
- Dopo aver aperto la pagina del programma, incollare quanto segue VBA
Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 + String2 MsgBox (full_string) End Sub
Qui,
- Cells(5, 5).Value = String1 + String2 è questa linea che usiamo più (+) al posto dell'ampersand (&)
Fase 2:
- Dopo aver incollato, salvare e premere F5 per eseguire il programma. Di conseguenza, si vedrà il cambiamento nella cella E5 .
- Per ottenere i risultati finali, riempire le celle necessarie eseguendo nuovamente i passaggi precedenti.
Per saperne di più: Come utilizzare la funzione VBA StrConv (5 esempi)
Letture simili:
- Come chiamare una sub in VBA in Excel (4 esempi)
- Restituzione di un valore in una funzione VBA (sia per valori di array che per valori non di array)
- Come utilizzare la funzione VBA DIR in Excel (7 esempi)
- Utilizzare la funzione VBA UCASE in Excel (4 esempi)
- Come utilizzare la funzione InStr in VBA (3 esempi)
3. Aggiungere più colonne con VBA Concatenate
Nei due approcci precedenti abbiamo discusso come combinare due celle. Tuttavia, se vogliamo applicarlo all'intera colonna, l'aggiunta uno a uno richiederà molto tempo. Vi insegneremo come aggiungere più colonne in maniera totale con VBA codice per questo.
Fase 1:
- In primo luogo, per aprire Macro stampa Alt + F11
- Scegliere Modulo dal Inserire scheda
- Quindi, incollare quanto segue VBA
Sub ConcatCols() 'concatena le colonne B & C nella colonna 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 Sub
Qui,
- Con Fogli di lavoro("Foglio3") è il nome del foglio di lavoro corrente.
- LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row è il nome della prima colonna.
- Con .Range("E5:E" & LastRow) è l'intervallo di celle di ritorno del risultato.
- .Formula = "=B5&C5" è la formula che unisce la prima cella dell'intervallo.
Fase 2:
- Infine, salvare e premere F5 per eseguire il programma.
Di conseguenza, si otterranno i risultati interamente in una colonna.
Per saperne di più: Come utilizzare VBA Rnd in Excel (4 metodi)
4. Unire più righe utilizzando VBA Concatenate
Oltre all'aggiunta di più colonne, si può anche applicare il metodo VBA per concatenare più righe in una sola. Come mostrato nella schermata seguente, vogliamo concatenare le tre righe in una sola. Per concatenare le righe, seguite i semplici passaggi seguenti.
Fase 1:
- Per attivare Macro in Excel, premere Alt + F11 .
- Quindi, selezionare Modulo dal Inserire
- Per concatenare le righe, incollare il comando 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
Qui,
- Impostare SourceRange = Intervallo("B5:D5") è l'intervallo di celle di origine.
- Range("B8").Value = Trim(i) è il numero della cella di ritorno.
Fase 2:
- Infine, salvare il programma e premere F5 per correre.
Pertanto, il risultato finale della concatenazione delle tre righe sarà mostrato nella cella B8 .
Per saperne di più: Come nascondere le righe superiori in Excel (7 metodi)
Conclusione
Per riassumere, spero che questo post abbia fornito istruzioni chiare su come utilizzare VBA concatenare in Excel in vari modi. Tutte queste tecniche devono essere apprese e utilizzate sui vostri dati. Esaminate il libro di esercizi e mettete in pratica le vostre nuove conoscenze. Grazie al vostro gentile sostegno, siamo motivati a continuare a creare workshop come questo.
Non esitate a contattarci per qualsiasi domanda e fateci sapere cosa ne pensate nell'area commenti qui sotto.
Il Exceldemy Il team risponderà costantemente alle vostre domande.