Hur man extraherar e-postadresser på ett Excel-kalkylblad
En Excel-e-postadresslista bör innehålla ingenting annat än adresserna själva. Men om kalkylbladet fått sin data från en extern form kan kolumnen innehålla irrelevant text. En cell kan läsa "Min adress är [email protected]" och en annan kan säga "kontakta på [email protected]." Du kan extrahera e-postadresserna till en ny kolumn så att Excel kan använda dem för applikationer som mailfusion. En metod att göra detta är att skriva ett Visual Basic-skript.
Skriv funktionen
1.
Tryck på tangenterna "Alt" och "F11" för att öppna Excels Visual Basic-redigerare.
2.
Skriv följande kod för att öppna en ny funktion:
Funktion ExtractCellEmail (cell som omfång) som sträng
3.
Lägg till följande kod för att extrahera all text från en given cell:
Dim innehållet som String innehåll = cell.Text
4.
Lägg till följande kod för att identifiera positionen för "@" -symbolen i texten:
AtPosition = InStr (1, innehåll, "@")
5.
Lägg till följande två rader för att identifiera start- och slutpositionerna för e-postadressen med hjälp av symbolen "@":
AddressStartingPosition = InStrRev (innehåll, "" AtPosition) AddressEndingPosition = InStr (AtPosition, innehåll, "")
6.
Lägg till följande rad för att extrahera e-postadressen med start- och slutpositionerna:
emailAddress = Trim (Mid (innehåll, AddressStartingPosition, AddressEndingPosition - AddressStartingPosition))
7.
Lägg till följande rad för att skriva ut den extraherade adressen till en närliggande cell:
ActiveCell.Offset (0, 1) .Value = emailAddress
8.
Skriv följande kod för att stänga funktionen:
Slutfunktion
Applicera funktionen till ett cellområde
1.
Skriv följande kod efter funktionen för att öppna ett nytt makro:
Sub mcrExtractColumnAddresses ()
2.
Skriv följande kod för att öppna en slinga:
Do
3.
Skriv följande kod efter looplinjen för att ringa den funktion du skrev:
Ring ExtractEmails (ActiveCell)
4.
Skriv följande kod efter den föregående raden för att välja nästa cell i kolumnen:
ActiveCell.Offset (1, 0) .Välj
5.
Lägg till följande rad för att stänga slingan:
Loop till IsEmpty (ActiveCell)
6.
Lägg till följande kod för att stänga makro:
Slutdel
7.
Byt till kalkylbladsfönstret.
8.
Välj den första cellen vars e-postadress du vill extrahera.
9.
Växla tillbaka till Visual Basic-fönstret. Placera muspekaren i mcrExtractColumnAddresses () -blocket, om det inte finns där redan.
10.
Tryck på "F5" -tangenten för att köra makrot och extrahera postadresserna.
Varning
- Denna process fungerar så länge som de enda "@" -symbolerna är de i e-postadresser. Du kan säkert anta att det här kommer att gälla för de flesta celler, men överväga att bläddra i listan över extraherade e-postadresser för att manuellt fånga några fel.