Subcadenes VBA | Com extreure la subcadena mitjançant funcions VBA?

Subcadenes Excel VBA

La subcadena és una part de la cadena o de la porció o el caràcter de la cadena s’anomena “subcadena”. Hi ha tres tipus de funció de subcadena a VBA ESQUERRA, DRETA i MID que són similars a les cadenes de full de càlcul d’Excel.

Una cadena no és res més que una sèrie de caràcters i els caràcters poden ser alfabets, números, caràcters especials, i també combinar-los.

Sovint, en Excel, quan treballem amb dades, que és la cadena, només necessitem obtenir la part de la cadena per facilitar el nostre propòsit. És possible que no necessitem utilitzar la cadena completa, però només necessitem la part de la cadena per al nostre ús. Per exemple, si teniu el nom de "Sachin Tendulkar", és possible que només necessiteu la primera part del nom, és a dir, només "Sachin". Això s’anomena Subcadena de la cadena a Excel VBA. Per fer front a aquestes cadenes, tenim funcions integrades a la funció TEXT de la categoria excel.

En aquest article, analitzarem com obtenir la subcadena de la cadena completa a VBA.

Com s'utilitzen les funcions de subcordes a VBA?

Per extreure la subcadena de la cadena tenim algunes de les funcions de text incorporades i algunes de les funcions importants són LEFT, RIGHT, INSTR i MID en excel. La funció Instr servirà com a funció de suport per a les altres tres funcions.

Veurem com utilitzar aquestes funcions per extreure pràcticament les subcadenes. Llegiu els exemples següents per entendre'ls.

Podeu descarregar aquesta plantilla VBA SubString Excel aquí: plantilla VBA SubString Excel

Exemple 1: utilitzar la funció esquerra

Si teniu el nom complet com "Sachin Tendulkar" i només cal extreure el primer nom, ja que la subcadena utilitza el següent codi per obtenir el mateix.

Pas 1: Creeu un nom de macro i definiu dues variables com a Cadena.

Codi:

 SubString_Example1 () Atenuar nom complet com a cadena Atenegar primer nom com a final de cadena Sub 

Pas 2: Ara assigneu el nom "Sachin Tendulkar" a la variable Nom complet.

Codi:

 Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = Finalització de "Sachin Tendulkar" 

Pas 3: Ara la variable Nom complet mantingueu el valor de "Sachin Tendulkar". Ara hem d’extreure la subcadena VBA d’excel del primer nom del nom complet. Per tant, assigneu el valor de la variable Nom mitjançant la funció ESQUERRA.

Codi:

 SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (End Sub 

Pas 4: VBA El primer argument de la funció ESQUERRA és Corda, això és el valor complet o la cadena completa. En aquest exemple, el nostre valor o cadena complet és "Sachin Tendulkar" que s'assigna a la variable Nom complet.

Així doncs, variable d’oferta Nom complet com a argument.

Codi:

 Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Sub extrem esquerre 

Pas 5: el següent l'argument és el nombre de caràcters que necessitem de la cadena que hem proporcionat, de manera que en aquest cas, necessitem el primer nom "Sachin”Així que totalment necessitem 6 caràcters des del costat esquerre.

Codi:

 SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) End Sub 

Pas 6: Ara mostreu el resultat en un quadre de missatges de VBA.

Codi:

 Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Esquerra (FullName, 6) MsgBox FirstName End Sub 

Pas 7: Executeu la macro i vegeu el primer nom com a subcadena al quadre de missatges.

Exemple # 2: obtingueu la subcadena de la dreta

Igual que com hem extret la subcadena de l'esquerra de manera similar, també podem extreure-la de la dreta. Agafeu el mateix nom que un exemple.

Pas 1: Definiu dues variables com a Cadena.

Codi:

 SubString_Example2 () Atenuar nom complet com a cadena Apagar cognom com a final de cadena Sub 

Pas 2: Com és habitual assigneu el valor a la variable Nom complet com "Sachin Tendulkar"

Codi:

 Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = Finalització de "Sachin Tendulkar" 

Pas 3: Ara per a la variable Cognom assigneu el valor mitjançant la funció excel RIGHT.

Codi:

 Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (End Sub 

Pas 4: La corda és nostra Nom complet així que proporcioneu la variable.

Codi:

 Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, End Sub 

Pas 5: La longitud és quants personatges necessitem des del costat dret 9 personatges des del costat dret.

Codi:

 Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, 9) End Sub 

Pas 6: Mostra aquest valor a quadre de missatge.

Codi:

 Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, 9) MsgBox LastName End Sub 

Pas 7: Executeu la macro que veurem el cognom al quadre de missatge.

Exemple # 3: utilitzar la funció Instr

En els exemples anteriors, només teníem un nom i hem proporcionat directament quants caràcters necessitem d’esquerra i dreta. Però en cas que hi hagi molts noms, els noms i els cognoms no siguin els mateixos, diferiran de nom a nom. En aquests casos, no podem proporcionar el nombre de caràcters directament, de manera que podem utilitzar la funció Instr.

Instr la funció retornarà la posició del caràcter subministrat a la cadena. Per obtenir un exemple, mireu el codi següent.

Codi:

 SubString_Example3 () Atenua la posició com a posició de la cadena = InStr (1, "Sachin", "a") Posició final de la caixa de missatges 

InStr (1, "Sachin", "a") així s’identificarà la posició de la carta "A" com a primera aparició a la corda “Sachin”. En aquest cas, carta "A" es troba en la segona posició. Així, obtindrem 2 com a resultat al quadre de missatges.

Així, podem utilitzar els Instr funció per trobar el caràcter espacial entre el nom i el cognom.

Per obtenir un exemple, mireu el següent nom que tinc al full Excel.

Utilitzant ESQUERRA, DRETA i Instr funció podem extreure les subcadenes. A continuació es mostra el codi per extreure el nom.

Codi:

 Sub FirstName () Dim K As Long Dim LR As Long LR = Cel·les (files.Compte, 1). Final (xIUp). Fila per K = 2 a cel·les LR (K, 2). Valor = esquerre (cel·les (K, 1) .Valor, InStr (1, cel·les (K, 1) .Valor, "") - 1) Següent final del subordinat K 

Executeu la macro i consulteu el primer nom com a subcadena al quadre de missatges.

Utilitzeu el codi següent per extreure el cognom com a subcadena.

Codi:

 Sub LastName () Dim K Long As Dim LR As Long LR = Cells (Rows.Count, 1). End (xIUp). Row For K = 2 To LR Cells (K, 3) .Value = Right (Cells (K, 1) .Valor, Len (Cel·les (K, 1)) - InStr (1, Cel·les (K, 1). Valor, "")) Següent Fi final 

Executeu la macro i veurem el cognom al quadre de missatges.

He assignat el botó de macro al full de càlcul, he baixat el llibre i els faig servir.