Funció dreta VBA (exemples) | Guia pas a pas de Excel VBA a la dreta

Funció correcta a VBA Excel

La funció dreta és la mateixa que a la funció de full de càlcul i a VBA, l’ús d’aquesta funció és que ens proporciona la subcadena d’una cadena determinada, però la cerca es fa de dreta a esquerra de la cadena, es tracta d’un tipus de funció de cadena a VBA. s’utilitza amb el mètode de funció application.worksheet.

RIGHT Funció a Excel VBA que s’utilitza per extreure caràcters de la part dreta dels valors de text subministrats. A Excel tenim moltes funcions de text per tractar dades basades en text. Algunes de les funcions útils són la funció LEN, ESQUERRA, DRETA i MID per extreure caràcters dels valors del text. L’exemple habitual d’utilitzar aquestes funcions és extreure el nom i el cognom per separat del nom complet.

La fórmula DRETA també hi és al full de treball. A VBA hem de confiar en la classe de funcions del full de càlcul per accedir a la funció VBA RIGHT, en lloc de tenir la funció RIGHT incorporada també a VBA.

Ara mireu la sintaxi següent de la fórmula VBA RIGHT.

  • Cadena: Aquest és el nostre valor i, a partir d’aquest valor, intentem extreure els caràcters del costat dret de la cadena.
  • Llargada: Del subministrat Corda quants personatges necessitem. Si necessitem quatre caràcters per la part dreta, podem proporcionar l'argument com a 4.

Per exemple, si la cadena és "Telèfon mòbil" i si volem extreure només la paraula "Telèfon" podem proporcionar l'argument com el següent.

DRET ("Telèfon mòbil", 5)

El motiu pel qual he esmentat 5 perquè la paraula "Telèfon" conté 5 lletres. A la següent secció de l'article, veurem com podem utilitzar-lo a VBA.

Exemples de funció correcta Excel VBA

A continuació es mostren els exemples de Right Function VBA Excel.

Podeu descarregar aquesta plantilla Excel de funció dreta VBA aquí: plantilla Excel de funció dreta VBA

Exemple 1

Us mostraré un exemple senzill per iniciar el procediment. Suposem que teniu la cadena "Nova York" i, si voleu extreure 3 caràcters de la dreta, seguiu els passos següents per escriure el codi.

Pas 1: Declareu la variable com a cadena VBA.

Codi:

 Sub Right_Example1 () Dim k As String End Sub 

Pas 2: Ara, per a aquesta variable, assignarem el valor aplicant la funció RIGHT.

Codi:

 Sub Right_Example1 () Dim k As String k = Right (End Sub 

Pas 3: el primer argument és Corda i la nostra cadena per a aquest exemple és "Nova York".

Codi:

 Sub Right_Example1 () Dim k As String k = Right ("Nova York", End Sub 

Pas 4: El següent és el nombre de caràcters que necessitem de la cadena subministrada. En aquest exemple, necessitem 3 caràcters.

Codi:

 Sub Right_Example1 () Dim k As String k = Right ("Nova York", 3) End Sub 

Pas 5: Tenim dos arguments per tractar, així que ja hem acabat. Ara assigneu el valor d'aquesta variable al quadre de missatges de VBA.

Codi:

 Sub Right_Example1 () Dim k As String k = Right ("Nova York", 3) MsgBox k End Sub 

Executeu el codi amb la tecla F5 o manualment i vegeu el resultat en un quadre de missatges.

A la paraula "Nova York" del costat dret hi ha 3 caràcters "Ork".

Ara canviaré la longitud de 3 a 4 per obtenir el valor complet.

Codi:

 Sub Right_Example1 () Dim k As String k = Right ("Nova York", 4) MsgBox k End Sub 

Executeu aquest codi manualment o utilitzant la tecla F5, obtindrem "York".

Exemple 2

Ara mireu un exemple més, aquesta vegada considereu el valor de la cadena com "Michael Clarke".

Si proporcioneu la longitud com a 6, obtindrem "Clarke" com a resultat.

Codi:

 Sub Right_Example1 () Dim k As String k = Right ("Michael Clarke", 6) MsgBox k End Sub 

Executeu aquest codi amb la tecla F5 o manualment per veure el resultat.

Funció dinàmica dreta a Excel VBA

Si observeu els nostres dos exemples anteriors, us proporcionem els números de l’argument de longitud manualment. Però aquest no és el procés adequat per fer la feina.

A cada una de les cadenes, els caràcters de la dreta són diferents en cada cas. No podem referir-nos a la longitud dels caràcters manualment per a cada valor de manera diferent. Aquí l’altra funció de corda “Instr” té un paper vital.

Instr La funció retorna la posició del caràcter subministrat al valor de la cadena subministrada. Per exemple, Instr (1, "Bangalore", "a") torna la posició de la lletra "a" a la cadena "Bangalore" des del primer (1) personatge.

En aquest cas, el resultat és 2 perquè a partir de la posició del primer caràcter de la lletra “a” és la 2a posició.

Si canvio la posició inicial d’1 a 3, en tornarà 5.

Instr (3, "Bangalore", "a").

El motiu pel qual retorna 5 perquè he esmentat la posició inicial per buscar la lletra "a" només de la tercera lletra. Per tant, la posició del segon apareixia "a" és 5.

Per tant, per trobar el caràcter espacial de cada cadena, podem utilitzar-lo. Un cop trobem la posició del caràcter espacial, hem de disminuir la longitud total de la cadena mitjançant LEN.

Per exemple, a la cadena "Nova York", el nombre total de caràcters és de 8 inclòs l'espai, i la posició del caràcter d'espai és la quarta. Per tant, 8-4 = 4 a la dreta extraurà 4 caràcters de la dreta.

Ara mireu el codi següent per obtenir la vostra referència.

Codi:

 Sub Right_Example3 () Dim k As String Dim L As String Dim S As String L = Len ("Michael Clarke") S = InStr (1, "Michael Clarke", "") k = Right ("Michael Clarke", L - S) MsgBox k End Sub 

Al codi anterior la variable "L" retornarà 14 i la variable "S" retornarà 8.

A la fórmula correcta de VBA, he aplicat L - S, és a dir, 14-8 = 6. Per tant, des del costat dret hi ha 6 caràcters, és a dir, "Clarke".

Bucles amb funció correcta a Excel VBA

Quan hem d'aplicar la funció VBA RIGHT amb moltes cel·les, hem d'incloure-la dins dels bucles. Per exemple, mireu la imatge següent.

No podem aplicar moltes línies del codi per extreure una cadena del costat dret. Per tant, hem d’incloure bucles. El codi següent ho farà per a les dades anteriors.

Codi:

 Sub Right_Example4 () Dim k As String Dim L As String Dim S As String Dim a As Enter for a = 2 To 5 L = Len (Cells (a, 1). Value) S = InStr (1, Cells (a, 1) ) .Valor, "") Cèl·lules (a, 2) .Valor = Dreta (Cèl·lules (a, 1), L - S) Al costat d'un final secundari 

El resultat d’aquest codi és el següent.