Sommario
Una delle funzioni più importanti e diffuse che utilizziamo quando lavoriamo con VBA in Excel è l'elemento Funzione centrale di VBA Prende in input una stringa e restituisce in output un determinato numero di caratteri dal centro della stringa. Oggi, in questo articolo, vi mostrerò come potete utilizzare il metodo Funzione centrale di VBA con esempi e illustrazioni appropriate.
Questo restituirà 9 dalla stringa "Angela Catherine Nevills" , a partire dal 8° carattere. È "Catherine" .
Scarica il quaderno di esercizi
Scaricate questo libro di esercizi per esercitarvi mentre leggete questo articolo.
VBA Funzione Mid.xlsmIntroduzione alla funzione Mid di VBA in Excel
⧭ Funzione Obiettivo:
Il Medio prende in ingresso un valore e restituisce in uscita un determinato numero di caratteri a partire da una determinata posizione del valore.
Il valore può essere un stringa, numero o anche un booleano .
Ad esempio, se si inserisce Mid("Angela Catherine Nevills",8,9), ritornerà "Catherine" .
Se si inserisce Mid(12345,2,3) , otterrete 234.
E inserire Mid(Falso,2,3) , otterrete als .
⧭ Sintassi:
La sintassi del Funzione centrale di VBA è:
=Mid(String,Start as Long,[Length])
⧭ Argomenti:
Argomento | Richiesto / Facoltativo | Spiegazione |
---|---|---|
Stringa | Richiesto | La stringa da cui verrà restituito un numero di caratteri. |
Inizio | Richiesto | Il carattere iniziale della stringa che verrà restituita. |
Lunghezza | Opzionale | Il numero di caratteri che verranno restituiti. L'impostazione predefinita è 1. |
⧭ Valore di ritorno:
Restituisce un determinato numero di caratteri dal centro di una stringa, a partire da una determinata posizione.
3 esempi della funzione Mid di VBA in Excel
Questa volta esploriamo il Funzione centrale di VBA in dettaglio con alcuni esempi.
1. Separare un determinato numero di caratteri dal centro di alcuni ID utilizzando la funzione Mid di VBA in Excel
Qui abbiamo un insieme di dati con il valore ID e Nomi di alcuni dipendenti di una società chiamata Saturn Group.
Qui, il 4a a 7 I caratteri di ciascun ID indicano l'anno di assunzione del rispettivo dipendente.
Ora svilupperemo un Funzione definita dall'utente utilizzando il Funzione centrale di VBA che estrarrà l'anno di assunzione di ogni dipendente dal database di ID dipendente .
È possibile utilizzare le seguenti opzioni VBA codice:
⧭ Codice VBA:
Funzione Anno_giunto(ID) Anno_giunto = Mid(ID, 4, 4) Fine della funzione
Nota: Questo codice crea una funzione chiamata Anno di adesione .
⧭ Uscita:
Eseguite questa funzione in qualsiasi cella del vostro foglio di lavoro con un ID come argomento.
Qui, nella cella D4 , abbiamo inserito la formula:
=Anno_di_giunzione(B4)
Ha restituito l'anno di assunzione del primo dipendente, 2021 .
A questo punto è possibile trascinare il file Maniglia di riempimento per ottenere gli anni di adesione del resto dei dipendenti.
⧭ Spiegazione del Codice:
- Per prima cosa, dichiariamo una funzione chiamata Anno di adesione che prende un ID come input dalla riga Funzione Unisci_anno(ID) .
- Quindi si estrae 4 caratteri dell'ID a partire dalla posizione 4 , dalla linea Anno_di_giunzione = Mid(ID, 4, 4) .
- La linea Fine della funzione dichiara la fine della funzione.
2. Estrarre le estensioni da alcuni indirizzi e-mail utilizzando la funzione Mid di VBA in Excel
Ora abbiamo aggiunto una nuova colonna al set di dati, che contiene gli indirizzi e-mail dei dipendenti.
Questa volta estrarremo le estensioni degli indirizzi e-mail utilizzando il metodo Centro funzione di VBA .
Il Codice VBA sarà:
⧭ Codice VBA:
Funzione Estensione(Indirizzo_email) Per i = 1 a Len(Indirizzo_email) Se Mid(Indirizzo_email, i, 1) = "@" Allora Estensione = Mid(Indirizzo_email, i + 1, Len(Indirizzo_email) - (i + 4)) End If Next i End Function
Nota: Questo codice crea una funzione chiamata Estensione .
⧭ Uscita:
Eseguite questa funzione in una qualsiasi cella del vostro foglio di lavoro con un valore di Indirizzo e-mail come argomento.
Qui, nella cella E4 , abbiamo inserito la formula:
=Estensione(D4)
Ha restituito l'estensione del primo indirizzo e-mail.
A questo punto è possibile trascinare il Maniglia di riempimento per estrarre le estensioni di tutti gli indirizzi e-mail.
⧭ Spiegazione del Codice
- Per prima cosa, dichiariamo una funzione chiamata Estensione che accetta un nome qualsiasi come input dalla riga Funzione Estensione(Indirizzo_email) .
- Poi si inizia un'iterazione con un ciclo for che controlla ogni carattere dell'elemento Indirizzo e-mail per vedere se è @ o meno dalla linea Se Mid(Email_Address, i, 1) = "@" Allora .
- Se trova un @ , quindi estrae l'estensione richiesta dal file Indirizzo e-mail dalla linea Estensione = Mid(Indirizzo_e-mail, i + 1, Len(Indirizzo_e-mail) - (i + 4)) .
- Infine, dichiariamo la fine della funzione.
3. Controllare alcuni testi per vedere se contengono o meno un testo specifico
Uno degli usi più importanti del Funzione centrale è vedere se un testo contiene o meno un testo specifico.
Sviluppiamo una funzione per verificare se l'elemento Indirizzi e-mail contengono il termine "gmail" o meno.
È possibile utilizzare le seguenti opzioni VBA codice:
⧭ Codice VBA:
Function Checking(Text1, Text2) For i = 1 To Len(Text1) If Mid(Text1, i, Len(Text2)) = Text2 Then Checking = "Yes" Exit For Else Checking = "No" End If Next i End Function
Nota: Questo codice crea una funzione chiamata Controllo .
⧭ Uscita:
Eseguite questa funzione in qualsiasi cella del vostro foglio di lavoro con due testi come argomento.
Qui, nella cella E4 , abbiamo inserito la formula:
=Controllo(D4, "gmail")
È tornato sì perché il primo indirizzo e-mail è un Gmail indirizzo.
A questo punto è possibile trascinare il Maniglia di riempimento per fare lo stesso per tutti gli ID e-mail.
⧭ Spiegazione del Codice:
- Per prima cosa, dichiariamo una funzione chiamata Controllo che prende due testi come argomenti dalla riga Funzione Controllo(Testo1,Testo2) .
- Poi si avvia un ciclo for che controlla ogni segmento di Testo1 partendo dalla posizione 1 per vedere se è uguale a Testo2 o meno, dalla linea Se Mid(Text1, i, Len(Text2)) = Text2 Allora .
- Se trova Testo2 , quindi restituisce "Sì" altrimenti restituisce "No" .
- Infine, concludiamo la funzione con la linea Fine della funzione .
Cose da ricordare
- Il 1a dell'argomento Funzione centrale non deve essere sempre una stringa, ma può essere un oggetto stringa , a numero o anche un booleano valore.
- Ma il 2a e 3a gli argomenti devono essere numeri Possono essere numeri interi o frazioni ma deve essere numeri . se sono frazioni , allora il Funzione centrale li convertirà nel valore più vicino a numeri interi .