E-mailadressen extraheren in een Excel-spreadsheet

Een Excel-e-mailadreslijst mag alleen de adressen zelf bevatten. Maar als de spreadsheet zijn gegevens van een extern formulier ontvangt, kan de kolom irrelevante tekst bevatten. Eén cel kan 'Mijn adres is [email protected]' zijn en een ander kan zeggen 'contact op [email protected]'. U kunt de e-mailadressen uitpakken in een nieuwe kolom zodat Excel deze kan gebruiken voor toepassingen zoals samenvoegen. Een methode om dit te doen is om een ​​Visual Basic-script te schrijven.

Schrijf de functie

1.

Druk op de toetsen "Alt" en "F11" om de Visual Basic-editor van Excel te openen.

2.

Typ de volgende code om een ​​nieuwe functie te openen:

Functie ExtractCellEmail (cel als bereik) als tekenreeks

3.

Voeg de volgende code toe om alle tekst uit een bepaalde cel te extraheren:

Dim inhoud als String-inhoud = cel.Tekst

4.

Voeg de volgende code toe om de positie van het "@" -symbool in de tekst te identificeren:

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

5.

Voeg de volgende twee regels toe om de start- en eindposities van het e-mailadres te identificeren met behulp van de positie van het symbool "@":

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

6.

Voeg de volgende regel toe om het e-mailadres te extraheren met behulp van de begin- en eindposities:

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

7.

Voeg de volgende regel toe om het geëxtraheerde adres in een aangrenzende cel af te drukken:

ActiveCell.Offset (0, 1). Waarde = e-mailadres

8.

Typ de volgende code om de functie te sluiten:

Eindfunctie

Pas de functie toe op een celbereik

1.

Typ de volgende code achter de functie om een ​​nieuwe macro te openen:

Sub mcrExtractColumnAddresses ()

2.

Typ de volgende code om een ​​lus te openen:

Do

3.

Typ de volgende code achter de lusregel om de functie te gebruiken die u hebt geschreven:

Call ExtractEmails (ActiveCell)

4.

Typ de volgende code achter de vorige regel om de volgende cel in de kolom te selecteren:

ActiveCell.Offset (1, 0) .Selecteer

5.

Voeg de volgende regel toe om de lus te sluiten:

Loop until IsEmpty (ActiveCell)

6.

Voeg de volgende code toe om de macro te sluiten:

End Sub

7.

Schakel over naar het spreadsheetvenster.

8.

Selecteer de eerste cel waarvan u het e-mailadres wilt extraheren.

9.

Schakel terug naar het Visual Basic-venster. Plaats de muiscursor in het blok mcrExtractColumnAddresses (), als dit er nog niet is.

10.

Druk op de "F5" -toets om de macro uit te voeren en de e-mailadressen uit te pakken.

Waarschuwing

  • Dit proces werkt zolang de enige "@" -symbolen die in e-mailadressen zijn. U kunt er gerust vanuit gaan dat dit voor de meeste cellen geldt, maar overweeg om door de lijst met geëxtraheerde e-mailadressen te bladeren om fouten handmatig te registreren.

Populaire Berichten