Slik trekker du ut e-postadresser på et Excel-regneark

En Excel-e-postliste bør ikke inneholde noe annet enn adressene selv. Likevel, hvis regnearket mottok data fra en ekstern form, kan kolonnen inneholde irrelevant tekst. En celle kan lese "Min adresse er [email protected], " og en annen kan si "kontakt på [email protected]." Du kan trekke ut e-postadressene i en ny kolonne slik at Excel kan bruke dem til applikasjoner som postfusjon. En metode for å gjøre dette er å skrive et Visual Basic-skript.

Skriv funksjonen

1.

Trykk på "Alt" og "F11" -tastene for å åpne Excels Visual Basic-editor.

2.

Skriv inn følgende kode for å åpne en ny funksjon:

Funksjon ExtractCellEmail (celle som rekkevidde) som streng

3.

Legg til følgende kode for å trekke ut all tekst fra en gitt celle:

Dim innhold Som String innhold = cell.Text

4.

Legg til følgende kode for å identifisere posisjonen til "@" -symbolet i teksten:

AtPosition = InStr (1, innhold, "@")

5.

Legg til følgende to linjer for å identifisere start- og sluttposisjonene til e-postadressen ved hjelp av "@" -symbolets posisjon:

AddressStartingPosition = InStrRev (innhold, "" AtPosition) AddressEndingPosition = InStr (AtPosition, innhold, "")

6.

Legg til følgende linje for å pakke ut e-postadressen ved hjelp av start- og sluttposisjonene:

emailAddress = Trim (Mid (innhold, AddressStartingPosition, AddressEndingPosition - AddressStartingPosition))

7.

Legg til følgende linje for å skrive ut den hentede adressen til en tilstøtende celle:

ActiveCell.Offset (0, 1) .Value = emailAddress

8.

Skriv inn følgende kode for å lukke funksjonen:

Sluttfunksjon

Bruk funksjonen til et celleområde

1.

Skriv inn følgende kode etter funksjonen for å åpne en ny makro:

Sub mcrExtractColumnAddresses ()

2.

Skriv inn følgende kode for å åpne en loop:

Gjøre

3.

Skriv inn følgende kode etter looplinjen for å ringe til funksjonen du skrev:

Ring ExtractEmails (ActiveCell)

4.

Skriv inn følgende kode etter forrige linje for å velge neste celle i kolonnen:

ActiveCell.Offset (1, 0) .Velg

5.

Legg til følgende linje for å lukke sløyfen:

Loop til IsEmpty (ActiveCell)

6.

Legg til følgende kode for å lukke makroen:

Slutt Sub

7.

Bytt til regnearkvinduet.

8.

Velg den første cellen hvis e-postadresse du vil trekke ut.

9.

Bytt tilbake til Visual Basic-vinduet. Plasser musepekeren i mcrExtractColumnAddresses () -blokken, hvis den ikke er der allerede.

10.

Trykk på "F5" -tasten for å kjøre makroen og trekk ut postadressene.

Advarsel

  • Denne prosessen fungerer så lenge de eneste "@" -symbolene er de i e-postadresser. Du kan sikkert anta at dette vil være troverdig for de fleste celler, men vurder å bla gjennom listen over hentede e-postadresser for å manuelt ta feil.

Populære Innlegg