VBA Concatenate | Cum să concatenăm șiruri împreună în VBA?

Concatenarea înseamnă unirea a două valori sau două șiruri împreună, asemănătoare excelului pe care îl folosim & sau cunoscut și sub numele de operator pentru a concatena, două concatenări pe două șiruri pe care le folosim și operator precum Șirul 1 și Șirul 2, acum există un lucru important de reținut și că este în timpul utilizării operatorului &, trebuie să oferim spații sau VBA îl va considera lung.

VBA concatenează șiruri

VBA Concatenate este unul dintre acele lucruri pe care le-am folosit pentru a combina două sau mai multe valori ale celulei de valoare împreună dacă spun într-un limbaj simplu că se combină, este unirea a două sau mai multe valori împreună pentru a avea valoare completă.

Avem o funcție numită CONCATENATE în excel, care va combina împreună două sau mai multe valori sau două sau mai multe valori de celulă împreună.

Dar în VBA nu avem nicio funcție încorporată care să concateneze două sau mai multe valori împreună. De fapt, nici măcar nu ajungem să accesăm clasa funcției foii de lucru pentru a accesa funcția VBA CONCATENATE ca funcție foaie de lucru.

Cum se concatenează șirurile în VBA?

Dacă nu avem niciun fel de funcție încorporată pentru a concatena valori și chiar funcția foaie de lucru nu este integrată cu VBA. Acum provocarea este cum combinăm valorile?

Chiar dacă nu există funcții încorporate, totuși ne putem combina în VBA folosind simbolul „ampersand” (&).

Dacă ne urmăriți postările în mod regulat, folosim adesea simbolul ampersand (&) în codificarea noastră.

De exemplu, dacă aveți prenumele și prenumele separat, le putem combina pe aceste două și le putem face ca un nume complet. Urmați pașii de mai jos pentru a scrie codul macro VBA pe cont propriu.

Pasul 1: Accesați Visual Basic Editor și creați o subprocedură VBA.

Pasul 2: definiți trei variabile ca Șir .

Cod:

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

Pasul 3: atribuiți acum numele și prenumele variabilei.

Cod:

 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 

Pasul 4: Combinați acum aceste două nume cu variabila Full_Name utilizând variabila ampersand.

Cod:

 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 

Pasul 5: Afișați acum valoarea variabilei Full_Name în caseta de mesaj.

Cod:

 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 = Prenume și prenume MsgBox Full_Name End Sub 

Acum rulați codul, vom primi numele complet în caseta de mesaj.

Problema cu acest nume complet este că nu am adăugat un nume de nume și un spațiu de caractere separator de nume, în timp ce combinați numele și prenumele, combinați și caracterul spațiului.

Cod:

 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 

Aceasta va da acum un nume complet adecvat.

Astfel, folosind simbolul ampersand, putem concatena valori. Acum vom rezolva problema foii de lucru de rezolvare împreună a prenumelui și prenumelui pentru a face din acesta un nume complet.

Deoarece trebuie să combinăm multe nume, trebuie să folosim bucle pentru a combina numele și prenumele. Codul de mai jos va face treaba pentru dvs.

Cod:

 Sub Concatenate_Example1 () Dim i Ca întreg pentru i = 2 până la 9 celule (i, 3). Valoare = Celule (i, 1) & "" & Celule (i, 2) Următorul i Termină sub 

Aceasta va combina numele și prenumele la fel ca funcția noastră de concatenare VBA.

Greșeală obișnuită în concatenarea Ampersand VBA

Dacă observați codurile mele, am adăugat un spațiu de caractere între valori și un simbol ampersand. Acest lucru este esențial datorită naturii programării VBA.

Nu putem combina valorile și simbolurile ampersand împreună, altfel vom primi eroare de compilare, precum cele de mai jos.

VBA Concatenate folosind funcția JOIN

În VBA putem folosi funcția JOIN pentru a combina valorile. În primul rând, uitați-vă la sintaxa funcției VBA JOIN.

  • Matricea nu este altceva decât o matrice care deține valorile noastre. De exemplu, atât numele, cât și prenumele.
  • Delimitatorul nu este altceva decât ceea ce este separatorul dintre fiecare valoare a matricei, în acest caz, caracterul spațial.

Codul de mai jos va arăta exemplul aceluiași.

Cod:

 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