Táboa de contidos
Unha das funcións máis importantes e amplamente utilizadas que usamos mentres traballamos con VBA en Excel é a Función media de VBA . Toma unha cadea como entrada e devolve un determinado número de caracteres desde o medio da cadea como saída. Hoxe, neste artigo, mostrarei como podes usar a Función media de VBA con exemplos e ilustracións axeitados.
Isto devolverá 9 caracteres da cadea “Angela Catherine Nevills” , comezando polo 8o carácter. É “Catherine” .
Descargar libro de prácticas
Descargar este libro de prácticas para exercer a tarefa mentres estás lendo este artigo.
VBA Mid Function.xlsm
Introdución á función media de VBA en Excel
⧭ Obxectivo da función:
A función Mid toma un valor como entrada e devolve un número determinado de caracteres a partir dunha posición determinada do valor como saída.
O valor pode ser unha cadea, un número ou mesmo un booleano .
Por exemplo, se insire Mid(“Angela Catherine Nevills”,8,9), devolverá “Catherine” .
Se insire Mid(12345,2,3) , obterá 234.
E inserir Mid(False,2,3) , obterás als .
⧭ Sintaxe:
A sintaxe do Mid función de VBA é:
=Mid(String,Start as Long,[Length])
⧭ Argumentos:
Argumento | Requirido/Opcional | Explicación |
---|---|---|
Cadea | Requirido | A cadea de que se devolverá un número de caracteres. |
Inicio | Requirido | O carácter inicial da cadea que se devolverá. |
Lonxitude | Opcional | O número de caracteres que se devolverán. O valor predeterminado é 1. |
⧭ Valor de retorno:
Devolve un número determinado de caracteres desde o medio dunha cadea, a partir dunha posición determinada.
3 Exemplos da función media de VBA en Excel
Esta vez, imos explorar a función media de VBA en detalle con algúns exemplos.
1. Separando un determinado número de caracteres do medio dalgúns ID usando a función media de VBA en Excel
Aquí temos un conxunto de datos cos IDs e Nomes dalgúns empregados dunha empresa chamada Saturn Group.
Aquí, os 4º ao 7º caracteres de cada un. O ID indica o ano de incorporación do empregado respectivo.
Agora desenvolveremos unha función definida polo usuario mediante a función media de VBA que extraerá o ano de incorporación de cada empregado do ID de empregado .
Podes usar o seguinte código VBA :
⧭ Código VBA:
8247
Nota: Este códigocrea unha función chamada Joining_Year .
⧭ Saída:
Executar isto función en calquera cela da súa folla de traballo cun ID como argumento.
Aquí, na cela D4 , introducimos a fórmula:
=Joining_Year(B4)
Devolveu o ano de incorporación do primeiro empregado, 2021 .
Agora pode arrastrar o Encha o controlador para obter os anos de incorporación do resto dos empregados.
⧭ Explicación do código:
- Primeiro, declaramos unha función chamada Joining_Year que toma un ID como entrada pola liña Función Joining_Year(ID) .
- Entón extraemos 4 caracteres do ID a partir da posición 4 , pola liña Joining_Year = Mid(ID, 4, 4) .
- A liña Fin función declara o final da función.
2. Extraer as extensións dalgúns enderezos de correo electrónico usando a función intermedia de VBA en Excel
Agora engadimos unha nova columna ao conxunto de datos, que contén os enderezos de correo electrónico dos empregados.
Esta vez extraeremos as extensións dos enderezos de correo electrónico mediante a función Mid de VBA .
O O código VBA será:
⧭ Código VBA:
5858
Nota: Este código crea unha función chamada Extensión .
⧭ Saída:
Executar isto función en calquera cela da súa folla de traballo cun Correo electrónicoEnderezo como argumento.
Aquí, na cela E4 , introducimos a fórmula:
=Extension(D4)
Devolveu a extensión do primeiro enderezo de correo electrónico.
Entón podes arrastrar o Recheo de datos para extraer as extensións de todo o correo electrónico enderezos.
⧭ Explicación do código
- Primeiro, declaramos unha función chamada Extensión que toma calquera nome como entrada pola liña Extensión da función(Enderezo_e-mail) .
- Entón comezamos unha iteración cun for-loop que verifica cada carácter do Enderezo de correo electrónico para ver se é @ ou non pola liña Se Mid(Enderezo_e-mail, i, 1) = “@” Entón .
- Se atopa un @ , extrae a extensión necesaria do Enderezo de correo electrónico pola liña Extensión = Medio(Enderezo_e-mail, i + 1, Len(Enderezo_e-mail) – (i + 4)) .
- Finalmente, declaramos o final da función.
3. Comprobando algúns textos para ver se conteñen ou non un texto específico
Un dos usos máis importantes da función Mid é ver se un texto contén ou non un texto específico .
Desenvolvemos unha función para comprobar se os Enderezos de correo electrónico conteñen o termo “gmail” ou non.
Podes usar o seguinte Código VBA :
⧭ Código VBA:
8746
Nota: Este código crea unha función chamado Comprobación .
⧭ Saída:
Executar esta función en calquera cela da túa folla de traballo con dous textos como argumento.
Aquí, na cela E4 , introducimos a fórmula:
=Checking(D4,"gmail")
Devolveu si porque o primeiro enderezo de correo electrónico é un enderezo de Gmail .
Entón podes arrastrar o Enche o controlador para facer o mesmo con todos os ID de correo electrónico.
⧭ Explicación do código:
- En primeiro lugar, declaramos unha función chamada Comprobación que toma dous textos como argumentos da liña Comprobación de funcións(Texto1,Texto2) .
- Despois iniciamos un bucle for que comproba cada segmento de Texto1 a partir da posición 1 , para ver se é igual a Texto2 ou non , pola liña Se Mid(Texto1, i, Len(Texto2)) = Texto2 Entón .
- Se atopa Texto2 , entón devolve “Si” , se non, devolve “Non” .
- Finalmente, concluímos a función coa liña Finalizar función .
Cousas para recordar
- O argumento 1º da función Mid non ten que ser sempre unha cadea. Pode ser unha cadea , un número ou mesmo un valor booleano .
- Pero os 2º e 3o argumentos deben ser números . Poden ser enteiros ou fraccións pero deben ser números . Se son fraccións , entón o Medioa función converteraos aos enteiros máis próximos.