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.

Populära Inlägg