Concatenació de VBA | Com es poden concatenar les cadenes juntes a VBA?
La concatenació significa unir dos valors o dues cadenes entre si, de manera similar a l’excel que fem servir & o també conegut com a operador de signe per concatenar, dues concatenar dues cadenes que fem servir & operador com la cadena 1 i la cadena 2, ara hi ha una cosa important a recordar i que és mentre fem servir l'operador &, hem de proporcionar espais o VBA ho considerarà llarg.
Concatenar cadenes VBA
VBA Concatenate és una d’aquestes coses que hem utilitzat per combinar dos o més valors de cel·les de valor junts si dic que en un llenguatge senzill s’està combinant, s’està unint dos o més valors per tenir un valor complet.
Tenim una funció anomenada CONCATENATE en excel que farà la combinació de dos o més valors o dos o més valors de cel·la junts.
Però a VBA no tenim cap funció integrada per concatenar dos o més valors junts. De fet, ni tan sols arribem a accedir a la classe de funcions del full de treball per accedir a la funció VBA CONCATENATE com a funció del full de treball.
Com es poden concatenar les cadenes a VBA?
Si no tenim cap tipus de funció integrada per concatenar valors i fins i tot la funció de full de càlcul no està integrada amb VBA. Ara el repte és com combinem valors?
Tot i que encara no hi ha funcions integrades, podem combinar-les a VBA mitjançant el símbol "ampersand" (&).
Si seguiu les nostres publicacions periòdicament, sovint fem servir el símbol signe (&) a la nostra codificació.
Per exemple, si teniu el nom i el cognom per separat, podem combinar aquests dos i convertir-los en un nom complet. Seguiu els passos següents per escriure el codi de macro VBA pel nostre compte.
Pas 1: Aneu a Visual Basic Editor i creeu un subprocediment VBA.
Pas 2: Definiu tres variables com a Corda.
Codi:
Sub Concatenate_Example () Dim Primer nom com a cadena Dim Últim nom com a cadena Dim Nom complet com a cadena Final Sub
Pas 3: Ara assigneu el fitxer nom i cognoms a la variable.
Codi:
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
Pas 4: Ara combina aquests dos noms amb la variable Nom complet utilitzant variable ampersand.
Codi:
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
Pas 5: Ara mostreu el valor de la variable Full_Name al fitxer quadre de missatge.
Codi:
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
Ara executeu el codi que obtindrem el nom complet al quadre de missatges.
El problema d’aquest nom complet és que no hem afegit un espai de caràcters separador de nom i cognom, mentre que combinem el nom i el cognom, també combinem el caràcter d’espai.
Codi:
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
Això donarà un nom complet correcte ara.
Així, utilitzant el símbol de signe i, podem concatenar valors. Ara resoldrem el problema del full de càlcul de resoldre junts el nom i el cognom per convertir-lo en un nom complet.
Com que hem de combinar molts noms, hem d'utilitzar bucles per combinar el nom i el cognom. El codi següent us farà la feina.
Codi:
Sub Concatenate_Example1 () Dim i Integer for i = 2 to 9 Cells (i, 3).
Combinarà el nom i el cognom igual que la nostra funció de concatenació de VBA.
Error comú en la concatenació VBA d’Ampersand
Si observeu els meus codis, he afegit un caràcter espacial entre els valors i un símbol de signe amper. Això és essencial per la naturalesa de la programació VBA.
No podem combinar els valors i els símbols d’ampersand si no obtindrem un error de compilació com el següent.
Concatenació de VBA mitjançant la funció JOIN
A VBA podem utilitzar la funció JOIN per combinar valors. En primer lloc, mireu la sintaxi de la funció VBA JOIN.
- La matriu no és res més que una matriu que conté els nostres valors. Per exemple, tant el nom com el cognom.
- El delimitador no és res més que el que és el separador entre cada valor de matriu, en aquest cas, el caràcter espacial.
El codi següent mostrarà l'exemple del mateix.
Codi:
Sub Concatenate_Example2 () Dim MyValues As Variant Dim Full_Name As String MyValues = Matriu ("Sachin", "Tendulkar") Full_Name = Unir-se (MyValues, "") MsgBox Full_Name End Sub