Funció VBA MID | Com s'utilitza la funció MID VBA d'Excel?

Funció MID Excel VBA

VBA MID La funció extreu els valors de la meitat de la frase o paraula proporcionada. La funció MID es classifica a la funció de cadena i text i és una funció de full de càlcul que significa utilitzar aquesta funció a VBA, hem d’utilitzar el mètode application.worksheet.

Hi ha situacions en què volem extreure el nom, el cognom o el segon nom. En aquestes situacions, les fórmules de la categoria TEXT són útils per complir els nostres requisits. L'ús d'aquesta funció és el mateix que el de la referència del full de càlcul i la sintaxi també és la mateixa.

Sintaxi

Igual que la nostra funció Excel MID, també en VBA té un conjunt similar de valors de sintaxi. A continuació es mostra la sintaxi.

  • Cadena de cerca: Això no és res més que la frase de la cadena, és a dir, de quina cadena o paraula voleu extreure els valors.
  • Posició inicial: De quina posició de la frase voleu extreure. Aquest hauria de ser un valor numèric.
  • Nombre de caràcters a extreure: Des de la posició inicial, quants caràcters voleu extreure? Aquest també hauria de ser un valor numèric.

Com s'utilitza la funció VBA MID?

Podeu descarregar aquesta plantilla de funció VBA MID aquí: plantilla de funció VBA MID

Exemple 1

Suposem que teniu la paraula "Hello Good Morning" i voleu extreure "Good" d'aquesta frase. Seguiu els passos següents per extreure el valor.

Pas 1: Creeu primer un nom de macro.

Codi:

 Sub MID_VBA_Example1 () Final Sub 

Pas 2: Declareu una variable com a "STRING".

Codi:

 Sub MID_VBA_Example1 () Atenua el valor mitjà com a final de cadena Sub 

Pas 3: Ara assigneu un valor a aquesta variable mitjançant la funció MID.

Codi:

 Sub MID_VBA_Example1 () Dim Valor mitjà com a cadena Valor mitjà = Mitjà (final Sub 

Pas 4: El primer argument és String, és a dir, de quin valor volem extreure. Per tant, el nostre valor és "Hola bon dia".

Codi:

 Sub MID_VBA_Example1 () Dim Valor mitjà com a cadena Valor mitjà = Mitjà ("Hello Good Morning", End Sub 

Pas 5: El següent és quina és la posició inicial del personatge que voleu extreure. En aquest cas, Bon dia comença a partir d’un setè personatge.

Nota: L’espai també és un personatge.

Codi:

 Sub MID_VBA_Example1 () Dim Valor mitjà com a cadena Valor mitjà = Mitjà ("Hello Good Morning", 7 End Sub 

Pas 6: La longitud no és més que el nombre de caràcters que voleu extreure. Hem d'extreure 4 caràcters aquí perquè la longitud de la paraula "Bo" és de 4 caràcters.

Codi:

 Sub MID_VBA_Example1 () Dim Valor mitjà com a cadena Valor mitjà = Mitjà ("Hola bon dia", 7, 4) Finalització sub 

Pas 7: Hem completat la fórmula. Mostrem el resultat de la variable al quadre de missatges.

Codi:

 Sub MID_VBA_Example1 () Dim Valor mitjà com a cadena Valor mitjà = Mitjà ("Hello Good Morning", 7, 4) MsgBox MiddleValue End Sub 

Pas 8: Ara executeu aquest codi manualment o premeu la tecla F5; el quadre de missatge hauria de mostrar la paraula "Bé".

Sortida:

Exemple 2

Suposem que teniu un nom i un cognom junts i que la paraula és "Ramesh, Tendulkar". Entre el nom i el cognom, el caràcter de separació és una coma (,). Ara només hem d’extreure el primer nom.

Pas 1: Creeu una macro i definiu una variable.

Codi:

 Sub MID_VBA_Example2 () Atenua el nom com a final de cadena Sub 

Pas 2: Ara assigneu un valor a aquesta variable mitjançant la funció MID.

Codi:

 Sub MID_VBA_Example2 () Dim Primer nom com a cadena Primer nom = Mitjà (Final Sub 

Pas 3: La nostra cadena és "Ramesh.Tendulkar", així que introduïu aquesta paraula.

Codi:

 Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", End Sub 

Pas 4: Com que estem extraient el primer nom, la posició inicial és 1.

Codi:

 Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, End Sub 

Pas 5: Es pot introduir directament la longitud del personatge com a 6, però aquesta no és la millor manera. Per determinar la longitud, apliquem una fórmula més anomenada Instr.

Codi:

 Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (End Sub 

Pas 6: Per a aquesta posició inicial és 1.

Codi:

 Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, End Sub 

Pas 7: La cadena 1 és el nostre nom, és a dir, "Ramesh, Tendulkar".

Codi:

 Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", End Sub 

Pas 8: Cadena 2, quin és el separador de nom i cognom, és a dir, coma (,).

Codi:

 Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", ",") End Sub 

Nota: La funció Instr retornarà quants caràcters hi ha a la paraula "Ramesh, Tendulkar" des de la posició de la cadena 1 fins a la posició de la cadena 2, és a dir, fins a la coma (,). Per tant, Instr retornarà 7 com a resultat inclosa la coma (,).

Pas 9: Com que la funció Instr torna el número de caràcters, inclosa la coma (,), hem de tenir menys un caràcter aquí. Per tant, introduïu -1 després del tancament de la funció Instr.

Codi:

 Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", ",") - 1) End Sub 

Pas 10: Ara mostreu el valor de la variable al quadre de missatge.

Codi:

 Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, "Ramesh, Tendulkar", ",") - 1) MsgBox FirstName End Sub 

Pas 11: Executeu aquest codi amb la tecla F5 o podeu executar-lo manualment, obtindríem el primer nom al quadre de missatge.

Sortida:

Exemple 3

Ara us donaré una tasca per resoldre. Tinc una llista de noms i cognoms.

D’aquesta llista vull que només extreieu el primer nom. Tot el millor!!!!.

D'acord, si heu provat i no heu pogut obtenir el resultat, el codi següent us ajudaria.

Codi:

 Sub MID_VBA_Example3 () Dim i long for i = 2 to 15 Cells (i, 2). Valor = Mitjà (Cells (i, 1). Valor, 1, InStr (1, Cells (i, 1). Valor, " , ") - 1) Següent i Fi Sub 

Copieu i enganxeu el codi anterior al mòdul. Després de copiar el codi, executeu aquest codi amb la tecla F5 o podeu executar-lo manualment.

Hauria de donar el resultat com el següent.

Coses que cal recordar

  • L'argument de longitud a la funció MID és opcional. Si ignoreu això, prendrà 1 com a valor per defecte.
  • Per determinar la longitud o la posició inicial utilitzeu la funció Instr juntament amb la funció MID.