A volte capita che abbiamo un elenco di E-Mail che si trovano in un file di Word, ad esempio e a noi serve urgentemente un file di Excel con queste E-Mail
Come risolvere?
Come nel caso dei buchi in una colonna ci abbiamo impiegato pochi minuti, anche in questo caso ci impiegheremo pochi minuti.
Consideriamo la seguente lista
1 - Premere ALT + F11 Comparirà la scheda Visual Basic Application Editions
2 - Inserisci -> Modulo e nella casella di testo copiare ed incollare il seguente testo
Public Function f(ByVal v As Variant) As String
Dim s() As String
Dim lng As Long
f = "Nessuna email"
s = Split(v, " ")
For lng = 0 To UBound(s)
If InStr(s(lng), "@") Then
f = s(lng)
Exit For
End If
Next
End Function
3 - Ripremere ALT + F11 (torna ad Excel)
4 - Se le E-Mail si trovano nella colonna A, possiamo scegliere una colonna tipo F, ad esempio e scrivere la seguente stringa:
F1: =f(A1) (in courier grassetto è la formula da scrivere, uguale compreso) e premere invio
5 - Selezionare e tirare verso il basso la colonna F per tutta la lunghezza delle E-Mail
6 - Per eliminare le righe Nessuna email Copiamo la colonna F appena creata, spostiamoci più in la (ad esempio la colonna I) e, cliccando sul pulsante incolla, incolliamo solo i valori (non la formula, co me si vede nella immagine successiva)
Avremo così
7 - Per compattare la colonna dobbiamo eliminare i valori duplicati, in questo caso Nessuna email. Nella scheda dati (Excel 2010) c'è il pulsante Rimuovi duplicati. Avremo
Cliccando su OK rimuove gli n duplicati -1
A questo punto non rimane che eliminare a mano la riga e copiare ed incollare i dati così estratti in un altro foglio di Excel o di testo.
Come risolvere?
Come nel caso dei buchi in una colonna ci abbiamo impiegato pochi minuti, anche in questo caso ci impiegheremo pochi minuti.
Consideriamo la seguente lista
1 - Premere ALT + F11 Comparirà la scheda Visual Basic Application Editions
Excel - Visual Basic Application Edition |
2 - Inserisci -> Modulo e nella casella di testo copiare ed incollare il seguente testo
Public Function f(ByVal v As Variant) As String
Dim s() As String
Dim lng As Long
f = "Nessuna email"
s = Split(v, " ")
For lng = 0 To UBound(s)
If InStr(s(lng), "@") Then
f = s(lng)
Exit For
End If
Next
End Function
Excel - VBA con Moudo e codie inserito |
3 - Ripremere ALT + F11 (torna ad Excel)
4 - Se le E-Mail si trovano nella colonna A, possiamo scegliere una colonna tipo F, ad esempio e scrivere la seguente stringa:
F1: =f(A1) (in courier grassetto è la formula da scrivere, uguale compreso) e premere invio
5 - Selezionare e tirare verso il basso la colonna F per tutta la lunghezza delle E-Mail
Excel - E-Mail Estratte da testo generico - 1 |
6 - Per eliminare le righe Nessuna email Copiamo la colonna F appena creata, spostiamoci più in la (ad esempio la colonna I) e, cliccando sul pulsante incolla, incolliamo solo i valori (non la formula, co me si vede nella immagine successiva)
Avremo così
Excel - Colonna I con solo i valori incollati delal colonna F |
7 - Per compattare la colonna dobbiamo eliminare i valori duplicati, in questo caso Nessuna email. Nella scheda dati (Excel 2010) c'è il pulsante Rimuovi duplicati. Avremo
Excel - Rimuovi Duplicati |
Cliccando su OK rimuove gli n duplicati -1
Excel - Colonna con i duplicati rimossi -1 |
A margine devo aggiungere che questo metodo può essere usato anche per effettuare una ricerca molto più stretta rispetto a quella imposta.
Infatti se da una lista di, ad esempio, 1.000 email di vario genere che hanno domini differenti (ad esempio gmail.com, hotmail.com, libero.it, ecc) ovviamente inseriti in modo casuale, vogliamo estrarre dal mucchio solo quelle che hanno per dominio gmail.com, alla riga:
If InStr(s(lng), "@") Then
al posto di @ possiamo inserire
If InStr(s(lng), "@gmail.com") Then
eseguendo lo stesso procedimento appena descritto, avremo tutte le E-Mail che hanno per dominio quello che abbiamo scelto.
Commenti
COSI' PRENDE SOLO IL PRIMO
CIAO
Carmine