Cuprins
În Excel, concatenarea este procesul de îmbinare a două șiruri de caractere pentru a forma un singur șir de caractere. Simplu spus, dacă avem un tabel cu nume într-o coloană și nume de familie în alta, putem folosi procedura de concatenare pentru a le concatena și combina într-o singură celulă într-o fracțiune de secundă. În Excel, avem o funcție numită CONCATENATE () care ne permite să realizăm această concatenare. Cu toate acestea, în VBA , acest tip de funcție nu este permis. Nu putem folosi CONCATENATE () în codul VBA, deoarece nu va funcționa. Deoarece VBA nu are funcții încorporate și nu putem utiliza funcții de foaie de calcul. Așadar, această lecție vă va demonstra cum să utilizați VBA concatenare pentru a combina mai multe celule, coloane și rânduri în Excel.
Descărcați caietul de practică
Descărcați acest caiet de exerciții pentru a vă antrena în timp ce citiți acest articol.
VBA Concatenate Function.xlsmIntroducere în funcția VBA Concatenate
După cum am menționat, Excel nu are nicio funcție încorporată pentru VBA Concatenate, dar putem să o facem să funcționeze ca o funcție prin combinarea diferitelor șiruri de caractere cu operatori. Aici folosim ampersand-ul (&) ca operator.
⟴ Sintaxa
String1 = " Primul text"
String2 = " Al doilea text"
⟴ Valoare de returnare
Return_value = String1 & String2
4 Utilizări diferite ale funcției VBA Concatenate în Excel
Aici, vom folosi 4 abordări diferite pentru a realiza procesul de concatenare. Vom aplica diferiți operatori în combinație cu VBA pentru a realiza acest lucru.
1. Utilizați operatorul Ampersand (&) pentru a uni celulele în VBA Concatenate
După cum se arată în captura de ecran de mai jos, avem o colecție de date cu două coloane, cu prenumele într-o coloană și numele de familie în cealaltă. Prin fuziunea celor două coloane, putem obține acum numele întregi. Deoarece VBA nu are nicio metodă încorporată pentru concatenare, vom folosi ampersandă (&) operatorul, așa cum se detaliază în instrucțiunile de mai jos.
Pasul 1:
- Mai întâi de toate, apăsați Alt + F11 pentru a deschide fereastra Foaie de lucru activată de macro.
- Apoi, faceți clic pe
- Selectați Modul .
Pasul 2:
- Pentru a combina două celule într-una singură, copiați și lipiți următoarele VBA
Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 & String2 MsgBox (full_string) End Sub
Aici,
- String1 = Cells(5, 2).Value este prima locație a celulei B5 , rând 5, și coloana 2 .
- String2 = Cells(5, 3).Value este a doua locație a celulei C5 , rând 5, și coloana 3 .
- Cells(5, 5).Value = String1 & String2 este locația celulei de rezultat E5 , rând 5 și coloana 5 .
- String1 & String2 sunt cele două șiruri de caractere unite prin ampersandă (&)
Pasul 3:
- Salvați și apăsați F5 pentru a rula programul.
Prin urmare, veți obține rezultatul în E5 din foaia de lucru curentă.
Pasul 4:
- Urmați și repetați pașii pentru celelalte celule și obțineți rezultatele prezentate în imaginea de mai jos.
Citiți mai mult: Cum se utilizează VBA StrComp în Excel (5 exemple comune)
2. Utilizați operatorul Plus (+) pentru a uni celulele în VBA Concatenate
Așa cum am descris în secțiunea anterioară, am folosit ampersandă (&) pentru a uni șiruri de celule. Puteți obține același rezultat aplicând operatorul plus (+) în loc de ampersandă (&) Pentru a face acest lucru, urmați acești pași.
Pasul 1:
- Pentru a deschide Macro în Excel, apăsați Alt + F11 .
- Faceți clic pe Introduceți și selectați
- După deschiderea paginii de program, lipiți următoarele VBA
Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 + String2 MsgBox (full_string) End Sub
Aici,
- Cells(5, 5).Value = String1 + String2 este această linie pe care o folosim plus (+) în loc de ampersandă (&)
Pasul 2:
- După ce ați lipit, salvați și apăsați F5 pentru a rula programul. În consecință, veți vedea modificarea celulei E5 .
- Pentru a obține rezultatele finale, completați celulele necesare, efectuând din nou etapele anterioare.
Citește mai mult: Cum se utilizează funcția VBA StrConv (5 exemple)
Lecturi similare:
- Cum să apelați un Sub în VBA în Excel (4 exemple)
- Returnarea unei valori în funcția VBA (atât valori din tablouri, cât și valori din afara tablourilor)
- Cum se utilizează funcția VBA DIR în Excel (7 exemple)
- Utilizați funcția VBA UCASE în Excel (4 exemple)
- Cum se utilizează funcția InStr în VBA (3 exemple)
3. Adăugați mai multe coloane folosind VBA Concatenate
În cele două abordări anterioare, am discutat despre cum să combinăm două celule. Cu toate acestea, dacă dorim să o aplicăm la întreaga coloană, adăugarea una câte una va dura mult timp. Vă vom învăța cum să adăugați mai multe coloane în totalitate cu VBA cod pentru acest lucru.
Pasul 1:
- În primul rând, pentru a deschide Macro apăsați Alt + F11
- Alegeți Modul de la Introduceți fila
- Apoi, lipiți următoarele VBA
Sub ConcatCols() 'concatenați coloanele B & C în coloana 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 End With End Sub
Aici,
- Cu Foi de lucru("Foaie3") este numele foii de lucru curente.
- LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row este numele primei coloane.
- With .Range("E5:E" & LastRow) este intervalul de celule de returnare a rezultatului.
- .Formula = "=B5&C5" este formula de alăturare a primei celule din interval.
Pasul 2:
- Apoi, în cele din urmă, salvați și apăsați F5 pentru a rula programul.
Ca urmare, veți obține rezultatele în întregime într-o coloană.
Citiți mai mult: Cum să utilizați VBA Rnd în Excel (4 metode)
4. Unește mai multe rânduri folosind VBA Concatenate
În plus față de adăugarea de coloane multiple, putem, de asemenea, să aplicăm VBA pentru a concatena mai multe rânduri într-unul singur. După cum se arată în captura de ecran de mai jos, dorim să concatenăm cele trei rânduri într-unul singur. Pentru a concatena rândurile, urmați pașii simpli de mai jos.
Pasul 1:
- Pentru activarea Macro în Excel, apăsați Alt + F11 .
- Apoi, selectați Modul de la Introduceți
- Pentru a concatena rândurile, lipiți fișierul 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
Aici,
- Set SourceRange = Range("B5:D5") este intervalul de celule sursă.
- Range("B8").Value = Trim(i) este numărul celulei de retur.
Pasul 2:
- În cele din urmă, salvați programul și apăsați F5 să funcționeze.
Astfel, rezultatul final al concatenării celor trei rânduri va fi afișat în celula B8 .
Citește mai mult: Cum să dezvăluiți rândurile de sus în Excel (7 metode)
Concluzie
În concluzie, sper că această postare a oferit instrucțiuni clare despre cum să utilizați VBA concatenarea în Excel într-o varietate de moduri. Toate aceste tehnici ar trebui învățate și utilizate pe datele dvs. Examinați cartea de practică și puneți în aplicare cunoștințele nou dobândite. Datorită sprijinului dvs. amabil, suntem motivați să continuăm să creăm ateliere de lucru ca acesta.
Nu ezitați să ne contactați dacă aveți întrebări. Vă rugăm să ne spuneți ce părere aveți în zona de comentarii de mai jos.
The Exceldemy Echipa va răspunde în mod constant la întrebările dumneavoastră.